Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
L'idéal, c'est de lancer l'enregistreur de macro, et faire tout ce que tu as écris.
Tu obtiendras ceci :
Code:
Sub Macro1()
' Macro enregistrée le 02/12/2007 par Excel-lent
Range("E3").[COLOR="Blue"]Select
Selection.[/COLOR]Copy
Range("F2").Select
ActiveSheet.Paste
Range("E5").[COLOR="Blue"]Select
Application.CutCopyMode = False
Selection.[/COLOR]Copy
Range("F4").Select
ActiveSheet.Paste
End Sub
Il ne te reste plus qu'à enlever ce qui sert à rien, tu obtiens donc :
Code:
Sub Macro1()
' Macro enregistrée le 02/12/2007 par Excel-lent
Range("E3").Copy
Range("F2").Select
ActiveSheet.Paste
Range("E5").Copy
Range("F4").Select
ActiveSheet.Paste
End Sub
Dans un second temps, comme ta tache est répétitive (toujours identique), donc tu insères une boucle pour que l'ordinateur le fasse automatiquement le nombre de fois voulu.
Code:
Sub Macro1()
' Macro enregistrée le 02/12/2007 par Excel-lent
Dim DerLigne As Integer
[I][COLOR="Teal"]DerLigne = Range("E65536").End(xlUp).Row[/COLOR][/I]
[COLOR="Red"][B]For i = 3 To DerLigne Step 2[/B][/COLOR]
[COLOR="Orange"][B] Range("E" & i).Copy
Range("F" & i - 1).Select
ActiveSheet.Paste[/B][/COLOR]
[COLOR="blue"][B]Next i[/B][/COLOR]
End Sub
Début de ta boucle Fin de ta boucle Tâche répétitive que l'ordinateur répètera x fois Cela permet de savoir combien de fois l'ordinateur va répéter la tâche
Voici succinctement ce que fait la macro ci-dessus. Si tu as besoin de plus de détail, n'hésites pas.
PS. Evidement, il existe d'autres solutions tout aussi efficace et peut-être plus courte
Sub Macro1()
' Macro enregistrée le 02/12/2007 par Excel-lent
Dim DerLigne As Integer
[I][COLOR=Teal]DerLigne = Range("E65536").End(xlUp).Row[/COLOR][/I]
[COLOR=Red][B]For i = 3 To DerLigne Step 2[/B][/COLOR]
[COLOR=Orange][B] Range("E" & i).Copy
Range("F" & i - 1).Select
ActiveSheet.Paste[/B][/COLOR]
[COLOR=blue][B]Next i[/B][/COLOR]
End Sub
Tu peux encore optimiser un peu, en ne sélectionnant pas les cellules. Plus rapide
Code:
Sub Macro1()
' Macro enregistrée le 02/12/2007 par Excel-lent
Dim DerLigne As Integer
[I][COLOR=Teal]DerLigne = Range("E" & Application.Rows.Count).End(xlUp).Row[/COLOR][/I]
[COLOR=Red][B]For i = 3 To DerLigne Step 2[/B][/COLOR]
[COLOR=Orange][B] [SIZE=4]Range("E" & i).Copy Range("F" & i - 1)[/SIZE][/B][/COLOR]
[COLOR=blue][B]Next i[/B][/COLOR]
End Sub
Ah quelle joie lorsque l'on voit des spécialistes du codes votre connaissance et surtout, le partage que vous en faite est un régal pour les petits débutant comme moi.
- 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