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

RÉSOLU Effacer ligne vide

  • Initiateur de la discussion Initiateur de la discussion Marie-Claire
  • 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 !

M

Marie-Claire

Guest
Bonjour à tous,

Voici un fichier pour lequel il y a deux onglets. Si on regarde dans le deuxième onglet il y a une formule qui dit que si la colonne B du premier onglet se situe entre deux date donné inscrire le nom de la colonne A du premier onglet dans la colonne A du deuxième onglet. Mais le problème c'est que j'aimerais que le nom qui s'écrit dans la colonne A du deuxième onglet ne laisse pas de ligne entre eux, mais qu'il s'inscrive un à la suite de l'autre.

Car dans le fichier d'origine j'ai environ 1000 enregistrement....

Merci pour votre aide.
 

Pièces jointes

Dernière modification par un modérateur:
Re : Effacer ligne vide

Bonjour Marie-Claire,

Pas certain d'avoir tout compris, mais, dans un cas comme celui-ci, tu as le choix entre:
- utiliser en Feuil1, une colonne supplémentaire pour "marquer" les enregistrements qui t'intéressent (la formule en Feuil2 s'en trouvera simplifiée!)
- utiliser une formule matricielle en Feuil2 (un peu plus difficile à comprendre et gourmande en ressources, si tu as de grandes plages à explorer)
- une macro qui, chaque fois que tu actives la Feuil2, réactualise la liste (auquel cas, il te faudra t'intéresser de près au langage VBA, pour pouvoir adapter, par la suite)

Aurais-tu une préférence? 😀

PS: dans tous les cas de figure, pense à préciser ce que tu voudrais clairement obtenir avec tes 2 conditions de date: Ces dates seront fixes, correspondront à une plage comprise entre aujourd'hui-2 et aujourd'hui+3 ou entre aujourd'hui et aujourd'hui+5 😕
 
Re : Effacer ligne vide

Bonjour Yohan,

Tu as bien compris ma question... Cela fonctionne. Mais est-ce que c'est compliqué à faire pour que je puisse le reproduire à mon fichier? J'aimerais juste dire que j'ai ajouté une colonne dans la Feuil2 qui répète la date de la colone B de la feuil1, car mon fichier original est fait ainsi.

Aussi, j'ai remarqué que je ne peux ajouté ou supprimer des lignes dans la feuil1, sinon cela ne fonctionne pas.... et j'ai également des filtres dans les deux feuilles, donc si je met un filtre à la Feuil2 et que la page s'actualise le filtre disparait...hihihi

Merci infiniment... 🙂
 

Pièces jointes

Re : Effacer ligne vide

Normalement ce n'est pas difficile à reproduire sur ton fichier
Je t'explique le principe : c'est un petit code sur VBA qui si la ligne est vide cela la masque si elle est remplie d'une valeur alors elle s'affiche. Il fait cela dès que tu vas sur la feuille "Retour Marie"
Si tu rajoute des ligne cela ne pose pas de problème il faut simplement une toute petit modification s'impose il faut me dire en gros combien de ligne tu veux masquer jusqu'où vont tes enregistrements

Pour le filtre il faudrait nous dire si tu travail sur excel 2003 ou excel 2007-2010
 
Re : Effacer ligne vide

Allo Yohan,

Merci pour ton aide, j'ai réussi à reproduire la micro à mon fichier et trouver la solution pour les filtre (au lieu de partir à 1 la macro je l'ai partie à 10 après mes entêtes et mon filtre ).

Donc, tout ce qu'il me reste à réaliser est lorsque je veux insérer une ligne entre deux ou supprimer une ligne dans ma feuil1. Si j'insère une ligne et que j'y inscrit les donnée, elle n'apparait pas dans la feuil2.

Dans mon fichier Feuil1, je pourrais atteindre 1000 lignes au total. J'ai Excel 2003
 
Re : Effacer ligne vide

Merci Romain pour ton aide, mais je ne peux insérer de ligne sans que les formule ne change... Je suis désolé

Yohan, nous sommes très près du but... Je peux maintenant insérer des lignes super 🙂)). Mais si je supprime Sylvie par exemple, Nathalie se met 2 fois et si je supprime Jean, Nathalie se met trois fois hihihi oufff pas facile.
 
Re : Effacer ligne vide

Bonjour Yohan,

Cela fontionne effectivement dans ton fichier, mais ho la la c'est tout autre chose lorsque je colle ta macro dans le mien lolll....

Voici ta macro :

Private Sub Worksheet_Activate()
Dim ligne As Long
ligne = Worksheets("Marie").Range("A6000").End(xlUp).Row
Range("A3:B" & ligne).Delete Shift:=xlUp
Rows("1:" & ligne).EntireRow.Hidden = False
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & ligne), Type:=xlFillDefault
Range("A2:A" & ligne).Select
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B" & ligne), Type:=xlFillDefault
Range("B2:B" & ligne).Select
For i = 1 To ligne
If Range("A" & i).Text = "" Then
Rows(i).EntireRow.Hidden = True
Else
Rows(i).EntireRow.Hidden = False
End If
Next i

End Sub


Je comprend que je dois remplacer '' Marie'' par ''Planif'' qui est le nom de mon 1er onglet... Mais ensuite je suis incapable de situer tes nom de cellule 😕

Dans mon onglet Planif, le premier nom se retrouve à la cellule B3, la 1ère date se retrouve M3, il y a présentement 59 nom mais il pourrait y en avoir jusqu'à 1000.

Dans le deuxième onglet qui s'appelle ''SEM 38'' le premier nom doit se retrouver dans la cellule A10, parconséquent un nom pourrait se retrouver sur la 867e ligne la raison pour laquelle je veux masquer des lignes (un peu long parcontre d'attendre la macro pour 1000 lignes mais je vais vivre avec).

Donc par quoi je dois remplacer tes cellule (A1-A2-B2)... Je suis assez débutante avec les macro, mais sache que j'apprécie vraiment beacoup ta précieuse aide...

Merci !
 
Re : Effacer ligne vide

salut donc première truc tape
application.screenupdating = false
juste après le dim ligne as long
cela va accelérer la macro et normalement il ne cache plus jusqu'a 1000 mais jusqu'à ligne
ensuite mon fichier prend en compte pour le moment 6000 nom ligne = Worksheets("Marie").Range("A6000").End(xlUp).Row

après si ta première formule est dans ligne 10 dans ton fichier équivalent à retour marie il faut transformer les "A2 en A10 comme tu l'as dit pareil pour les b10 donc tu change juste le
 
Re : Effacer ligne vide

Private Sub Worksheet_Activate()
Dim ligne As Long
application.screenupdating = false
ligne = Worksheets("Planif").Range("A6000").End(xlUp).Row
Range("A11:B" & ligne).Delete Shift:=xlUp
Rows("1:" & ligne).EntireRow.Hidden = False
Range("A10").Select
Selection.AutoFill Destination:=Range("A10:A" & ligne), Type:=xlFillDefault
Range("A10:A" & ligne).Select
Range("B10").Select
Selection.AutoFill Destination:=Range("B10:B" & ligne), Type:=xlFillDefault
Range("B10:B" & ligne).Select
For i = 1 To ligne
If Range("A" & i).Text = "" Then
Rows(i).EntireRow.Hidden = True
Else
Rows(i).EntireRow.Hidden = False
End If
Next i

End Sub
 
- 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

  • Question Question
Microsoft 365 INDEX equiv
Réponses
1
Affichages
204
Réponses
1
Affichages
219
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…