VBA - incrémenter une valeur selon la ligne sélectionnée via un bouton

Bonjour à tous,

Je suis débutant avec le VBA je serais donc le plus clair possible en simplifiant au maximum mon cas d'usage :

Admettons un tableau de 2 colonnes , la 1ere est une liste de modèle de voiture et la 2nd colonne la quantité de voiture associée.

J'ai créé un bouton "+" qui se déplace en fonction de la ligne que je sélectionne (il se place au bout de la ligne sélectionnée, code VBA ci dessous) et j'aimerais maintenant que ce bouton incrémente de +1 la quantité de voiture en fonction de la ligne sélectionnée (d'où se trouve le bouton) et je n'y arrive pas du tout. (Ca fait 1 semaine que je suis dessus, n'hésitez pas à me dire si mon explication n'est pas clair)

Voici le code VBA afin que le bouton se déplace en face de la ligne sélectionné :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("A1:I300")) Is Nothing Then

Range("A1").Value = Target.Row
Shapes("BoutonPlus").Top = Range("A" & Target.Row).Top

End If

End Sub

Je vous remercie par avance de vos retours :)

Hello,

1 - Tu ajoutes un Module à ton fichier

2 - Tu colles ce code dans le module :

Sub AjouteQte()

    Dim intLigne As Integer
    Dim lngQte As Long
    Dim bytAjout As Byte 'De 0 à 255

    bytAjout = 1 'Nombre à ajouter quand on appuie sur le bouton
    intLigne = Range("a1").Value
    lngQte = bytAjout + Range("b" & intLigne).Value 'Recupere la valeur de la colonne B + la nouvelle Qte
    Range("b" & intLigne).Value = lngQte 'Modifie la feuille avec la nouvelle Qte

End Sub

3 - Tu affectes à ton bouton la macro AjoutQte

Hello Rag02700, Nico t

une possibilité

Sub Plus1()
     With Sheets("Feuil1").Shapes("BoutonPlus").TopLeftCell
          .Offset(, 2 - .Column).Value = .Offset(, 2 - .Column).Value + 1
     End With
End Sub

Merci beaucoup Rag02700 ! Ca fonctionne parfaitement et je vais pouvoir le décliner facilement pour faire d'autres boutons qui font -1 par exemple

Merci également BsAlv, ca fonctionne également au top mais je ne saurais pas le décliné pour mes autres boutons, j'ai plus de mal à comprendre😂

re,

le 2 entre les parenthèses veut dire la 2ième colonne, donc B

peut-être plus facile à comprendre

Sub Plus1()
     With Sheets("Feuil1")
          Set c = .Cells(.Shapes("BoutonPlus").TopLeftCell.Row, "B")     'la cellule "B" dans la ligne du bouton
          c.Value = c.Value + 1
     End With
End Sub

Re,

Ah oui je comprends c'est plus clair merci ! J'ajoute ta façon de faire à mon bloc note car ça me donne des idées, je pense que je peux la réutiliser plus facilement pour autre chose que faire +1 du coup du type : un bouton qui réalise un calcul plus complexe en 1 clic 😁

Rechercher des sujets similaires à "vba incrementer valeur ligne selectionnee via bouton"