Excel et les macros
fsibert
Messages postés
2
Statut
Membre
-
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 15481 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je souhaite savoir si l'on peut créer une macro avec excel qui permettrait, en cliquant sur un bouton dans une cellule, d'incrémenter une autre, à l'infini (1,2,3,4, etc...).
Il faudrait que je puisse le reproduire plusieurs fois sur une même feuille de calcul.
un grand merci aux spécialistes qui connaissent la chose.
Fabrice
je souhaite savoir si l'on peut créer une macro avec excel qui permettrait, en cliquant sur un bouton dans une cellule, d'incrémenter une autre, à l'infini (1,2,3,4, etc...).
Il faudrait que je puisse le reproduire plusieurs fois sur une même feuille de calcul.
un grand merci aux spécialistes qui connaissent la chose.
Fabrice
A voir également:
- Excel et les macros
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
4 réponses
Bonsoir,
Voici une macro qui permet cela :
Ici A1 est la cellule qui va s'incrémenter de 1 en 1
Ensuite, tu peux créer AffecteNuméro2() pour une autre cellule, AffecteNuméro3() etc...
J'espère que cela te conviendra
Bonne soirée et à plus
Voici une macro qui permet cela :
Function NouveauNuméroCellule(Numéro)
NouveauNuméroCellule = Numéro + 1
End Function
Sub AffecteNuméro1()
Dim rep
Dim AncienNuméro As Integer
Dim NouveauNuméro As Integer
rep = MsgBox("Voulez-vous affecter un numéro à la cellule ?", vbDefaultButton2 + vbQuestion + vbYesNo)
If rep = vbYes Then
AncienNuméro = Range("A1").Value
NouveauNuméro = NouveauNuméroCellule(AncienNuméro)
Range("A1").Value = NouveauNuméro
ActiveWorkbook.Save
End If
If rep = vbNo Then
End If
End Sub
Ici A1 est la cellule qui va s'incrémenter de 1 en 1
Ensuite, tu peux créer AffecteNuméro2() pour une autre cellule, AffecteNuméro3() etc...
J'espère que cela te conviendra
Bonne soirée et à plus
bonjour
Tu n'as même pas besoin de créer de bouton et tu mets simplement cette macro dans VBA (alt + F11) sur ta feuille en copier et coller.
Ensuite, tu passes alternativement de A1 à A2 puis A1...
Il suffit de rajouter ce que tu veux comme cellules dans "Range("a1:a2")" et cela fonctionne, par exemple
(sel, Range("a1:a2"),Range("b5:b12"),Range("c8:ca20"))
Tu n'as même pas besoin de créer de bouton et tu mets simplement cette macro dans VBA (alt + F11) sur ta feuille en copier et coller.
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not Intersect(sel, Range("a1:a2")) Is Nothing And sel.Count = 1 Then
sel.Value = sel.Value + 1
End If
End Sub
Ensuite, tu passes alternativement de A1 à A2 puis A1...
Il suffit de rajouter ce que tu veux comme cellules dans "Range("a1:a2")" et cela fonctionne, par exemple
(sel, Range("a1:a2"),Range("b5:b12"),Range("c8:ca20"))
Je remercie les deux participants qui ont bien voulu me répondre, mais
vraiment beotien en la matière, je ne sais pas comment mettre cette macro en place...
voilà ce que j'ai fait:
je me sui mis sur une cellule, par exemple A1, j'ai fait Alt+F11, j'ai cliqué sur "nouveau"
j'ai donné un nom à ma macro (ici "incrementation"), copié les lignes de code, enregistré et ensuite???
ben plus rien parce que je suis pas bon, c'est tout!
merci de votre aide en step by step....
Fab
vraiment beotien en la matière, je ne sais pas comment mettre cette macro en place...
voilà ce que j'ai fait:
je me sui mis sur une cellule, par exemple A1, j'ai fait Alt+F11, j'ai cliqué sur "nouveau"
j'ai donné un nom à ma macro (ici "incrementation"), copié les lignes de code, enregistré et ensuite???
ben plus rien parce que je suis pas bon, c'est tout!
merci de votre aide en step by step....
Fab
bonjour
Lorsque tu fais Alt+F11 tu dois avoir une fenêtre "projet" et si tu ne l'as pas tu fais "ctrl+r" pour l'afficher.
Ensuite dans cette fenêtre tu dois voir ton classeur et à l'intérieur ta feuille.
Tu double-cliques sur ta feuille pour en avoir la fenêtre du code et tu colles la macro sans rien changer car il faut qu'elle ait ce nom et ce paramétrage.
Ensuite tu changes ta sélection entre a1:a2 et b1:c12 et tu vois les progressions.
Lorsque tu fais Alt+F11 tu dois avoir une fenêtre "projet" et si tu ne l'as pas tu fais "ctrl+r" pour l'afficher.
Ensuite dans cette fenêtre tu dois voir ton classeur et à l'intérieur ta feuille.
Tu double-cliques sur ta feuille pour en avoir la fenêtre du code et tu colles la macro sans rien changer car il faut qu'elle ait ce nom et ce paramétrage.
Private Sub Worksheet_SelectionChange(ByVal sel As Range)
If Not Intersect(sel, Range("a1:a2"), Range("b1:c12")) Is Nothing And sel.Count = 1 Then
sel.Value = sel.Value + 1
End If
End Sub
Ensuite tu changes ta sélection entre a1:a2 et b1:c12 et tu vois les progressions.