Insérer cellules pleines de plusieurs colonnes dans nouvelle feuille

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

P

petitclaude

Guest
Bonjour à tous,

J’ai 6 colonnes de 300 lignes chacune voir plus, chaque ligne de chaque colonne va ensemble.

J’ai des lignes qui sont complète et d’autres non.(mise à jour ts les jours)

J’ai donc effectuer la fonction SI(ESTVIDE)
Ce qui me donne maintenant 3 nouvelles colonnes à coté de mes 6.
Dans ces 3 colonnes il y à maintenant des lignes vides et d’autres pleines. (Complète et pas complète)

Pour y voir plus clair j’aimerais que les lignes qui sont pleines (ce sont celle qui ne sont pas complètes) soit automatiquement insérer dans une nouvelle feuille (sur 3 colonnes) l’une derrière l’autre.

En espérant que je me suis bien expliquer

Je vous en remercie d’avance.
 
Bonjour à tous,

Voici une macro qui réalisera ce que tu demandes, si j'ai bien tout compris.

Sub RecopierLignePleines()
Dim cellule As Range

Application.ScreenUpdating = False
Worksheets("Feuil2").Range("A1:F1").EntireColumn.Clear
For Each cellule In Worksheets("Feuil1").Range("A1").Resize(Range("A65536").End(xlUp).Row, 1)
If cellule <> "" And cellule.Cells(1, 2) <> "" And cellule.Cells(1, 3) <> "" _
And cellule.Cells(1, 4) <> "" And cellule.Cells(1, 5) <> "" And cellule.Cells(1, 6) <> "" Then
cellule.Resize(1, 6).Copy
Worksheets("Feuil2").Range("A65536").End(xlUp).Cells(2, 1).PasteSpecial
End If
Next cellule
Worksheets("Feuil2").Range("A1").EntireRow.Delete
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Bonne journée.
Laurent.

PS1: j'ai supposé que tes données étaient en feuil1, colonnes A à F, et dès la ligne1 (titres possibles), et que les lignes pleines étaient copiées dans les mêmes colonnes de la feuil2.
PS2: je n'ai pas compris l'intérêt de tes 3 colonnes supplémentaires, que je n'utilise pas ici.
 
Oups, désolé, PetitClaude, j'avais mal lu.
En fait, ce sont les lignes qui ne sont pas complètes dans le premier tableau qu'il faut recopier. J'ai fait le contraire.

Alors voici ta macro modifiée:

Private Sub CommandButton1_Click()
Dim Cellule As Range
Dim NouvelleCellule As Range

Application.ScreenUpdating = False
Worksheets("Feuil2").Range("E8:G8").EntireColumn.Clear For Each Cellule In Worksheets("Feuil1").Range("M1").Resize(Range("M65536").End(xlUp).Row, 1)
If Cellule.Cells(1, 2) = "" Or Cellule.Cells(1, 4) = "" Then
With Worksheets("Feuil2")
If .Range("E10") = "" Then
Set NouvelleCellule = .Range("E10")
Else
Set NouvelleCellule = .Range("E65536").End(xlUp).Cells(2, 1)
End If
End With
NouvelleCellule = Cellule.Cells(1, 5)
NouvelleCellule.Cells(1, 2) = Cellule.Cells(1, 1)
NouvelleCellule.Cells(1, 3) = Cellule.Cells(1, 3)

End If
Next Cellule
Application.ScreenUpdating = True

End Sub

Attention, au début, on efface les colonnes E à G de la feuille 2, donc y compris ce qui y est au-dessus de la ligne 10. Comme tu demandes de commencer la recopie à partir de E10, peut-être as-tu des données au-dessus qui vont alors disparaître. Une toute petite modif sera alors nécessaire.

Sinon, la macro n'utilise toujours pas tes 3 colonnes supplémentaires de la feuille 1. Tu pourras les supprimer si tu n'en as pas besoin par ailleurs.

Bonne nuit.
Laurent.
 
- 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

Retour