Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supression de lignes automatique

  • Initiateur de la discussion Initiateur de la discussion lilive17
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lilive17

Guest
Bonjour à tous,

J'aimerais avec un code VBA suprimer automatiquement les lignes où il ne figure pas de nom d'élève. Cela pour diminuer mes tableaux.

Ceci sur plusieurs feuilles du même classeur.

Dans l'exemple le nom figure uniquement dans la premiere ligne donc j'aimerais que le reste des lignes disparaissent.

Merci de votre aide.

Ci joint le fichier.

Je travaille avec excel 2007
 

Pièces jointes

Re : Supression de lignes automatique

Bonsoir lilive17, piga25,

Dans ta feuille "Base Elève", le code suivant permet de connaître le numéro de la dernière ligne prévue (les n° en colonne C), le numéro de ligne du dernier nom encodé (en colonne D) ... puis de supprimer toutes les lignes entre les deux.
Code:
Sub effaceLignes()
NbBase = Sheets("Base Elève").[C2000].End(xlUp).Row
NbEleves = Sheets("Base Elève").[D2000].End(xlUp).Row
Sheets("Base Elève").Range("A" & NbEleves + 1 & ":A" & NbBase).EntireRow.Delete
End Sub
En adaptant pour les autres feuilles, tu devrais y arriver. Si pas, fais-le nous savoir.

Ceci n'enlève rien à l'intérêt de la proposition de piga25!

Modeste
 
Re : Supression de lignes automatique

Merci à toi modeste cela fonctionne très bien pour le feuille base élève.

Mais pourrais tu me donner un autre exemple avec la feuille 1T par exemple car je ne vois pas ce que represente le "A" et C2000 D2000

J'essaierais de le faire pour Absences 1.

Je me permets une autre petite question, dois je inscrire le code dans un module ou dans la feuille.Le code pour base eleve je l'ai ecrit dans un module.

Merci d'avance pour ton aide.

lilive17
 
Re : Supression de lignes automatique

re-bonsoir,

Comme ton fichier est en ".xlsm" et donc pas lisible par un certain nombre, tu n'as qu'à copier-coller le code ci-dessous ... dans un module, c'est effectivement mieux.
J'ai ajouté des commentaires pour répondre à tes questions.
Code:
Sub effaceLignes()
' Feuille Base Elève
NbBase = Sheets("Base Elève").[C2000].End(xlUp).Row 'au départ de la cellule C2000 et en "remontant", repérer la dernière cellule non vide
NbEleves = Sheets("Base Elève").[D2000].End(xlUp).Row 'idem en colonne D
Sheets("Base Elève").Range("A" & NbEleves + 1 & ":A" & NbBase).EntireRow.Delete 'supprimer les lignes entières de la plage A6:A41 (par exemple)

'Feuille Absences _
    1 ici, puisque les autres noms ont été supprimés dans la 1ère feuille _
    les cellules affichent des messages d'erreur
For Each c In Sheets("Absences 1").Range("A4:A33")
    If c.Text = "#REF!" Then
        aSupprimer = c.Row 'repérer la première cellule contenant valeur d'erreur
        Exit For
    End If
Next c
Sheets("Absences 1").Range("A" & aSupprimer & ":A33").EntireRow.Delete

'Feuille T1 même principe que plus haut
For Each c In Sheets("1T").Range("A7:A37")
    If c.Text = "#REF!" Then
        aSupprimer = c.Row
        Exit For
    End If
Next c
Sheets("1T").Range("A" & aSupprimer & ":A37").EntireRow.Delete

End Sub

Comme je le dis souvent, ce n'est peut-être pas un modèle de programmation vba, mais ça fonctionne!

Modeste
 
Re : Supression de lignes automatique

Tout fonctionne bien et je t'en remercie modeste.
j'ai d'autres soucis avec ce même classeur mais on verra cela plus tard!
Merci encore à toi de ton aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
367
Réponses
5
Affichages
646
Réponses
3
Affichages
437
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…