G
GuestRC
Guest
Bonjour à tous!
J'ai une macros qui importe des lignes d'autres feuilles mais je n'ai besoin que des lignes dont la colonne AG2 n'est ni vide ni égale à 0
pour le moment je fais ça:
En gros la fonction parcours toutes les feuilles jusqu'à la feuille 8 et copie des lignes dans la feuille 7. Le problème est qu'une fois importé je dois enlever les lignes inutiles. Mais quand je mets un if ça bug pas mal. il y a des trous dans le résultat des imports. Il y a aussi des données dans la même feuille sur un autre range qu'il ne faut pas toucher donc je ne peux pas supprimer de ligne après l'import. Idéalement, je veux une fonction comme la mienne mais qui n'importe que ce dont j'ai besoin et copie tout au bon endroit.
Quelqu'un aurait-il la solution?
merci d'avance 🙂
J'ai une macros qui importe des lignes d'autres feuilles mais je n'ai besoin que des lignes dont la colonne AG2 n'est ni vide ni égale à 0
pour le moment je fais ça:
VB:
Sub Import_Donnees_Signalement()
Dim j As Integer, Lignefin As Integer, h As Integer
Application.ScreenUpdating = False
Lignefin = 2
Dim c As Range
For j = ActiveWorkbook.Worksheets.Count To 8 Step -1
Worksheets(j).Range("AB2:AB26").Copy
Worksheets(7).Range("T" & Lignefin).Select
For h = 2 To 26 Step 1
Worksheets(7).Range("T" & Lignefin) = Worksheets(j).Range("AB" & h)
Worksheets(7).Range("U" & Lignefin) = Worksheets(j).Range("AC" & h)
Worksheets(7).Range("V" & Lignefin) = Worksheets(j).Range("AD" & h)
Worksheets(7).Range("W" & Lignefin) = Worksheets(j).Range("AE" & h)
Worksheets(7).Range("X" & Lignefin) = Worksheets(j).Range("AF" & h)
Worksheets(7).Range("Y" & Lignefin) = Worksheets(j).Range("AG" & h)
Worksheets(7).Range("Z" & Lignefin) = Worksheets(j).Range("AH" & h)
Worksheets(7).Range("AA" & Lignefin) = Worksheets(j).Range("AI" & h)
Worksheets(7).Range("AB" & Lignefin) = Worksheets(j).Range("AJ" & h)
Worksheets(7).Range("AC" & Lignefin) = Worksheets(j).Range("AK" & h)
Worksheets(7).Range("AD" & Lignefin) = Worksheets(j).Range("AL" & h)
Worksheets(7).Range("AE" & Lignefin) = Worksheets(j).Range("AM" & h)
Worksheets(7).Range("AF" & Lignefin) = Worksheets(j).Range("AN" & h)
Worksheets(7).Range("AG" & Lignefin) = Worksheets(j).Range("AO" & h)
Worksheets(7).Range("AH" & Lignefin) = Worksheets(j).Range("AP" & h)
Lignefin = Lignefin + 1
Next h
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next j
End Sub
En gros la fonction parcours toutes les feuilles jusqu'à la feuille 8 et copie des lignes dans la feuille 7. Le problème est qu'une fois importé je dois enlever les lignes inutiles. Mais quand je mets un if ça bug pas mal. il y a des trous dans le résultat des imports. Il y a aussi des données dans la même feuille sur un autre range qu'il ne faut pas toucher donc je ne peux pas supprimer de ligne après l'import. Idéalement, je veux une fonction comme la mienne mais qui n'importe que ce dont j'ai besoin et copie tout au bon endroit.
Quelqu'un aurait-il la solution?
merci d'avance 🙂