Bouton modifiant la valeur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion descamps16
  • Date de début Date de début

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 !

D

descamps16

Guest
Bonjour,

Je débute tout juste avec les macros. J'aimerai qu'en cliquant sur le bouton que j'ai inséré (bouton de choix des mois) ça remplisse une cellule avec la valeur correspondante au mois.

J'ai mis un fichier en pièce-jointe pour vous expliquez plus clairement mon objectif.

En vous remerciant

Amicalement

Vincent
 

Pièces jointes

Re : Bouton modifiant la valeur d'une cellule

Bonsoir Vincent, Patrick, bonsoir le forum,

Tout à fait d'accord avec Patrick, pas besoin de VBA pour ça. Mais comme j'adore le VBA je t'ai fait une proposition avec un seul bouton et une UserForm...
Le code :
Code:
Private ob As Object 'déclare la variable ob (Onglet Base de données)
Private ot As Object 'déclare la variable ot (Onglet TBD dynamique)

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Set ob = Sheets("Base de données") 'définit l'onglet ob
Set ot = Sheets("TBD dynamique") 'définit l'onglet ot
Me.ComboBox1.List = ob.Range("A3:A" & ob.Cells(Application.Rows.Count, 1).End(xlUp).Row).Value 'alimente la combobox1
End Sub


Private Sub ComboBox1_Change() 'au changement dans la ComboBox1
Dim li As Integer 'déclare la variable li (LIgne)
Dim col As Byte 'déclare la variable col (COLonne)

If Me.ComboBox1 <> "" Then 'condition 1 : si la ComboBox1 n'est pas vide
    ot.Range("B17").Value = Me.ComboBox1 'place le mois en B17
    li = ob.Columns(1).Find(Me.ComboBox1.Value, , xlValues, xlWhole).Row 'définit la ligne li
    'boucle sur toutes les cellules éditées cel de la ligne 16
    For Each cel In ot.Range("D16:" & ot.Cells(16, Application.Columns.Count).End(xlToLeft).Address)
        On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante
        'définit la colonne col (provoquie une erreur si aucune occurrence n'est trouvée)
        col = ob.Rows(2).Find(cel.Value, , xlValues, xlWhole).Column
        If Err <> 0 Then 'condition 2 : si une erreur a été générée
            Err = 0 'annule l'erreur
            MsgBox "Verifiez l'orthographe !" 'message
            cel.Select 'sélectionne la cellule erronée
            Unload Me 'vide et ferme l'Userform
            Exit Sub 'sort de la procédure
        End If 'fin de la condition 2
        On Error GoTo 0 'annule la gestion des erreurs
        cel.Offset(1, 0).Value = ob.Cells(li, col) 'place en dessous de la cellule cel la valeur de la vente du mois
    Next cel 'prochaine cellule de la bolucle
End If 'fin de la condition 1
Unload Me 'vide et ferme l'Userform
End Sub
Le fichier :
 

Pièces jointes

Re : Bouton modifiant la valeur d'une cellule

Bonjour à vous,

Merci pour vos réponses rapide!

Effectivement le bouton n'est pas forcément très adapté dans mon cas. Je voulais surtout faire des boutons pour l'esthétique de mon tableaux de bord et aussi pour découvrir la VBA.

Ayant maintenant les deux manières de procéder, je vais pouvoir continuer ce que j'ai entrepris.

Un grand merci 🙂

Vincent
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
468
Retour