florent@77
XLDnaute Junior
Bonjour à tous,
Très faible en VBA, j'adapte des exemples de ce forum pour un projet en essayant de comprendre.
cepandant j'ai besoin égalemende votre aide car je coince sur une amélioration de ce que j'ai adapté.
j'ai 50 fois la même macro que répète dans mon fichier
je souhaiterai savoir si c'est possible de la faire qu'une fois et qu'elle se répète autant de fois que necessaire
merci pour votre aide
florent
ci dessous ma macro (que je répète 50 fois ) et un exemple en piece jointe
Sub mensuel1()
Sheets("feuil2").Activate
mot = Range("A1").Value
Sheets("feuil1").Activate
Dim nbc As Integer, i As Integer
nbc = Range("IV1").End(xlToLeft).Column
For i = 1 To nbc
If Cells(1, i).Value = mot Then
Range(Cells(1, i), Cells(1, i).End(xlDown).Offset(5000, 0)).Select
'Columns(i).Select
End If
Next
COPIEMENSUEL1
End Sub
Sub COPIEMENSUEL1()
Selection.Copy
Sheets("feuil2").Select
Range("A4").Select
ActiveSheet.Paste
Range("A1").Select
End Sub
Très faible en VBA, j'adapte des exemples de ce forum pour un projet en essayant de comprendre.
cepandant j'ai besoin égalemende votre aide car je coince sur une amélioration de ce que j'ai adapté.
j'ai 50 fois la même macro que répète dans mon fichier
je souhaiterai savoir si c'est possible de la faire qu'une fois et qu'elle se répète autant de fois que necessaire
merci pour votre aide
florent
ci dessous ma macro (que je répète 50 fois ) et un exemple en piece jointe
Sub mensuel1()
Sheets("feuil2").Activate
mot = Range("A1").Value
Sheets("feuil1").Activate
Dim nbc As Integer, i As Integer
nbc = Range("IV1").End(xlToLeft).Column
For i = 1 To nbc
If Cells(1, i).Value = mot Then
Range(Cells(1, i), Cells(1, i).End(xlDown).Offset(5000, 0)).Select
'Columns(i).Select
End If
Next
COPIEMENSUEL1
End Sub
Sub COPIEMENSUEL1()
Selection.Copy
Sheets("feuil2").Select
Range("A4").Select
ActiveSheet.Paste
Range("A1").Select
End Sub