A voir également:
- Chercher première ligne vide
- Aller à la ligne excel - Guide
- Supprimer page word vide - Guide
- Partager photos en ligne - Guide
- Coeur vide ✓ - Forum Facebook
- Vente en ligne particulier - Guide
1 réponse
bonjour,
a priori pour chaque date en colonne A on a une information en colonne B ou en colonne C . on peut alors balayer toute la colonne A, tester si en col B ou en col C on a 1010 et copier la ligne dans l'autre feuille. Si la toute première ligne copiée est bien positionnée les autres vont être copiées à la suite
(Pas sûr d'avoir répondu a tout le problème !)
A+
a priori pour chaque date en colonne A on a une information en colonne B ou en colonne C . on peut alors balayer toute la colonne A, tester si en col B ou en col C on a 1010 et copier la ligne dans l'autre feuille. Si la toute première ligne copiée est bien positionnée les autres vont être copiées à la suite
....... NumLig = 0 Col = 1 ' colonne A With Sheets("Journal 2011") ' feuille source NbrLig = .Cells(65536, Col).End(xlUp).Row ' attention à partir de Excel 2007 on peut avoir plus de 1000000 lignes For Lig = 1 To NbrLig ' numéro de la prmière ligne de données à copier If .Cells(Lig, Col+1).Value = "1010" or .Cells(Lig, Col+2).Value = "1010" Then 'si en colonne B...ou en colonne C .Cells(Lig, Col).EntireRow.Copy NumLig = NumLig + 1 Sheets("Grand Livre").Cells(NumLig + 6, 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False end if Next End With ...
(Pas sûr d'avoir répondu a tout le problème !)
A+
27 avril 2012 à 16:30
Mais je dois avoir quelque chose qui bloque, car j'ai toujours le message "erreur d'exécution '1004' sans que la macro ne tourne.
Est-ce que vous auriez quand même la solution pour trouver la ligne vide, car dans l'optique ou ça marche bien, je voudrais mettre plusieurs macro à la suite avec des critères différents.
L'erreur est dans la 7ème ligne avant la fin "Cells(NumLig + Range(A65536).End(xlUp).Offset(1, 0), 1).Select "
A+
Modifié par Alexandre le 27/04/2012 à 17:13
Cells(NumLig + WorksheetFunction.CountA(Range("A:A")), 1).Select
Mais au bout de quelques lignes, Excel m'insert des lignes vides ...
Par contre je n'arrive pas encore à maîtriser le "OU" ...
Sheets(Array("Journal 2011", "Journal 2012", "Grand Livre")).Select
Sheets("Journal 2011").Activate
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Grand Livre").Activate ' feuille destination
Col = "B" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Journal 2011") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig ' numéro de la prmière ligne de données à copier
If .Cells(Lig, Col).Value = "1010" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig + 6, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next
End With
Col = "C" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Journal 2011") ' feuille source
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig ' numéro de la prmière ligne de données à copier
If .Cells(Lig, Col).Value = "1010" Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Cells(NumLig + WorksheetFunction.CountA(Range("A:A")), 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next
End With
End Sub