Excel : Ligne Variable Macro

Résolu/Fermé
TeTo - Modifié par TeTo le 27/08/2015 à 15:20
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 28 août 2015 à 10:03
Bonjour,

J'ai un ensemble de macro qui me permet de gérer un planning sur excel.
Ayant programmé ce dernier à la va vite ... Je me retrouve avec des plus en plus de macro toujours plus complexe...
Je travail à une simplification de cet ensemble.
Le but des macros est de copier la date du jour dans une cellule donnée lorsque qu'on clique sur le bouton "Fait" Associé à la tâche éffectuée.
Pour l'instant chaque bouton fais le travail de copier coller etc...
J'aimerais affecter un nombre à chaque bouton, et une fonction qui réutilise ce nombre
Mais je bloque voici mon code

Private Sub Workbook_Open()
          Dim number As Integer
          Dim i As Integer
End Sub

Sub Bouton1()
number = 6
Call Copier
End Sub

Sub Bouton2()
number = 7
Call Copier
End Sub

Sub Copier()
Range("H4:I4").Copy
'H4:I4 Contient la fonction =aujourdhui()
i = number
Range(D, i).PasteSpecial Paste:=xlPasteValues
'Cette fonction me permet de copier la valeur de la date et non
'la fonction =aujourdhui()
'Elle fonctionne avec Range("D6")
End Sub



D'après le Débogage l'erreur se situe au niveau de la ligne 20

Merci d'avance de vos réponses
A voir également:

1 réponse

f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
27 août 2015 à 15:33
Bonjour,

code a mettre dans un module, pas dans ThisXorkbook

Public number As Integer

Sub Bouton1()
    number = 6
    Call Copier
End Sub

Sub Bouton2()
    number = 7
    Call Copier
End Sub

Sub Copier()
    Range("H4:I4").Copy
    'H4:I4 Contient la fonction =aujourdhui()
    Range("D" & number).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    'Cette fonction me permet de copier la valeur de la date et non
    'la fonction =aujourdhui()
    'Elle fonctionne avec Range("D6")
End Sub
1
ça fonctionne du feu de Dieu !
Merci beaucoup pour cette réponse !
Pour que mon code VBA s'affiche avec les couleurs je dois mettre quoi dans <code "xxx"> ?
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713 > TeTo
28 août 2015 à 10:03
Bonjour,

Basic
0