<!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Tableau avec Défilement</title> <!-- Lien vers Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEJ6hu7N9R3K5wCoPY5i2hPnZjVqX7f2FMY6rnxjtb+HAjsaayjGVoF2A+Ug5" crossorigin="anonymous"> <style> /* Style personnalisé */ .table-container { overflow-x: auto; /* Barre de défilement horizontale */ width: 100%; max-width: 100%; /* Pour s'assurer que la table ne dépasse pas */ } table { width: 100%; table-layout: auto; /* Laisser les colonnes s'ajuster automatiquement en fonction de leur contenu */ border-collapse: collapse; /* Pour que les bordures se rejoignent sans espaces */ } th, td { text-align: center; padding: 15px 25px; /* Augmenter la taille des cellules pour la lisibilité */ border: 1px solid #dee2e6; /* Bordures visibles */ white-space: nowrap; /* Pour éviter que le texte dépasse */ min-width: 100px; /* Largeur minimale des cellules */ } /* Rendre les 2 premières colonnes sticky */ th:nth-child(1), td:nth-child(1) { position: sticky; left: 0; background-color: #f8f9fa; /* Couleur de fond des colonnes sticky */ z-index: 2; /* Positionner la première colonne au-dessus des autres */ } th:nth-child(2), td:nth-child(2) { position: sticky; left: 120px; /* Ajuster cette valeur pour placer la 2ème colonne correctement après la 1ère */ background-color: #f8f9fa; z-index: 1; /* Positionner la deuxième colonne au-dessus des autres, mais en dessous de la première */ } /* Ajouter un peu d'espace pour mieux visualiser */ th { background-color: #007bff; color: white; } td { background-color: #f1f1f1; } </style> </head> <body> <div class="container mt-5"> <div class="table-container"> <table class="table table-bordered"> <thead> <tr> <th>Jour</th> <th>Mois</th> <th>Semaine</th> <?php // Générer les colonnes supplémentaires jusqu'à 200 for ($i = 4; $i <= 200; $i++) { echo "<th>Colonne $i</th>"; } ?> </tr> </thead> <tbody> <tr> <td>Total</td> <td></td> <td></td> <?php // Générer les valeurs pour chaque colonne (exemple) for ($i = 4; $i <= 200; $i++) { echo "<td>Valeur $i</td>"; } ?> </tr> <tr> <td>Jour 1</td> <td>Janvier</td> <td>1</td> <?php // Remplir les valeurs pour chaque colonne for ($i = 4; $i <= 200; $i++) { echo "<td>Valeur $i</td>"; } ?> </tr> <tr> <td>Jour 2</td> <td>Février</td> <td>2</td> <?php // Remplir les valeurs pour chaque colonne for ($i = 4; $i <= 200; $i++) { echo "<td>Valeur $i</td>"; } ?> </tr> </tbody> </table> </div> </div> <!-- Lien vers Bootstrap JS --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-KyZXEJ6hu7N9R3K5wCoPY5i2hPnZjVqX7f2FMY6rnxjtb+HAjsaayjGVoF2A+Ug5" crossorigin="anonymous"></script> </body> </html>