Copier macro sur plusieurs ligne
Bonjour,
Je suis débutant en macro, j'ai utilisé la fonction "enregistrer une macro" pour effectuer une opération que je réalise souvent sur un tableau quand j'appuis sur un bouton de commande sur une ligne. Le problème c'est que je dois faire environs 60 bouton et j'ai un peu la flemme de changer la formule 60 fois... (G3 devient G4, H3 H4 etc ...). Auriez vous une idées ? Merci d'avance.
Voici la formule :
Sub Bouton3()
'
' Bouton3 Macro
'
'
Range("G3").Select
Selection.Copy
Range("H3").Select
ActiveSheet.Paste
Range("I3").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=auj"
Range("I3").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("I3").Select
Selection.Copy
Range("M3").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("M3").Select
Application.CutCopyMode = False
Selection.Cut
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 8
ActiveWindow.ScrollColumn = 7
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 1
Range("I3").Select
ActiveSheet.Paste
Range("B3:H3").Select
Range("H3").Activate
With Selection.Font
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
End With
End Sub
Bonjour,
Avant d'envisager le traitement de plusieurs lignes, je pense que la macro doit être optimisée. Mais il faudrait déjà être sûr de ce que vous voulez faire pour une ligne.
Ce que j'ai cru comprendre:
- copier G3 dans H3
- mettre en "dur" la date du jour en I3 et M3
- appliquer un thème en B3:H3
Pour l'automatisation sur plusieurs lignes:
comment seront définies les lignes à traiter :
faut-il prendre de la ligne 3 à la dernière ligne ?
ou bien ...?
A+
Bonjour,
il n'est pas nécessaire de sélectionner une cellule pour la copier ou d'y mettre une formule,
voici un exemple
Range("G3").Copy Range("H3")
Range("I3").Formula = "=TODAY()"Bonjour
Désolée les amis...0n s'est croisé
Je viens de voir ce que tu as fait...pas beau l'enregistrement de macro aide, mais il faut ensuite alléger
trop de select...à corriger
Et là ???
Range("I3").Copy Range("M3")
Range("M3").Cut Range("I3")Tu copies I3 dans M3 puis tu coupes M3 pour le remettre dans I3....
En bref, je ne comprend pas ce que tu veux faire..
Peux-tu mettre un fichier exemple et expliquer quel est ton résultat souhaité ?
De toute manière pour ne pas répéter 60 fois, tu fais une boucle qui part de 3 pour aller jusqu'où tu veux...
Bon courage