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

[VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

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

I

Ilyes

Guest
Salut!

Voilà mon problème: j'ai enregistré une macro en faisant un exemple sur 3 lignes:
-> J'ai copié un nom en Agents!A2 dans une case en Couverture!C22
-> J'ai copié le résultat apparut en '2007'!F42 dans une autre case à côté du nom original en Agents!G2

J'ai fais ça d'A3 en G3 et d'A4 en G4.

Le problème c'est que je dois faire ça jusqu'en A2789, et je n'arrive pas à faire répeter l'action que j'ai enregistré (je n'y connais rien en codage).

Voilà le code:



Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/04/2011 par stageDRHformation
'

'
Range("A2").Select
Selection.Copy
Sheets("Couverture").Select
Range("C22:E22").Select
ActiveSheet.Paste
Sheets("2007").Select
Range("F42").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Agents").Select
Range("G2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Couverture").Select
Range("C22:E22").Select
ActiveSheet.Paste
Sheets("2007").Select
Range("F42").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Agents").Select
Range("G3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Couverture").Select
Range("C22:E22").Select
ActiveSheet.Paste
Sheets("2007").Select
ActiveWindow.SmallScroll Down:=3
Range("F42").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Agents").Select
Range("G4").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub




Est ce que vous pouvez m'aider?
Merci d'avoir lu!


Edit: Ah oui j'oubliais, je ne peux pas simplement copier la formule étant donner qu'elle contient déjà 3 cellules à formules qui contiennent elles mêmes des formules et c'est un véritable casse-tête
 

Pièces jointes

Dernière modification par un modérateur:
Re : [VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

Bonjour Iles et bienvenue sur le forum

Essaie ce code, ça devrait fonctionner si j'ai bien tout compris.
VB:
Sub Macro1()
    Dim i As Integer
    For i = 2 To Range("A" & Range("A65536").Row)
        Sheets("Couverture").Range("C22:E22") = Sheets("Agents").Range("A" & i)
        Sheets("Agents").Range("G" & i) = Sheets("2007").Range("F42")
    Next
End Sub

A+
 
Re : [VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

Merci de m'avoir répondu aussi rapidement!

Par contre, j'ai essayé d'executer la macro et ça ne fonctionne malheuresement pas.
Quand je saisis ou copie colle ton code, les pages ne s'affichent pas en rouge, est ce que cela a un rapport?

Merci
 
Re : [VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

Bonjour,
Voilà le petit dépannage :
Code:
Sub Macro1()
Dim i As Long, DerniereLigne As Long
DerniereLigne = Range("A65536").End(xlUp).Row
For i = 2 To DerniereLigne
    Sheets("Agents").Range("A" & i).Copy Destination:=Sheets("Couverture").Range("C22:E22")

    Sheets("2007").Range("F42").Copy
    Sheets("Agents").Range("G" & i).PasteSpecial Paste:=xlValues
Next i
End Sub
A+

Edit : Pas rafraichi Bonjour FredOo
 
Dernière édition:
Re : [VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

Je vais vous construire un temple!

Merci beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup beaucoup!
 
Re : [VBA Débutant] Macro -> Répéter la même action sur plusieurs lignes

Bonjour J'ai un peu le meme problem, je veux apliquer cette macro sur toute les lignes qui sonr rensegnées dans la colone A.

Sub Macro1()
If Range ("A1").Value Like "*MIG*" Then
Range ("B2").Value = "[MIG]"
ElseIf Range ("A1").Value Like "*SUP*" Then
Range ("B2").Value = "[SUP]"
'ElseIf plein d'autres choses
Else
Columns("B2").Value = "[ERROR]"
End If
End Sub

D'avance merci
 
- 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

Réponses
10
Affichages
776
Réponses
18
Affichages
549
Réponses
2
Affichages
391
Réponses
17
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…