Faisabilité sur excel ?

Néon -  
pilas31 Messages postés 1878 Statut Contributeur -
Bonjour,

Alors voila j'ai une tit question pour les cracks d'Excel j'aurai voulu savoir s’il était possible à l'aide d'une macro (ou autre si y'a mieux ou plus simple) de faire apparaître un message m'indiquant un texte mais différent en fonction du nombre de foi ou j’ai déjà cliqué sur un bouton.

Exemple : si je clic une fois sur le bouton un msg m'indiquer "10" si je clic une seconde fois sur le même bouton il m'indiquera 20 ainsi de suite.

Gspr que vous m'avez compris lol

4 réponses

pilas31 Messages postés 1878 Statut Contributeur 647
 
Bonjour,

En allant au plus simple il faut :
1/ créer un bouton avec la boite à outil "Contrôles"
2/ clic droit sur le bouton et aller dans "visualiser le code"
3/ taper le code suivant :
Private Sub CommandButton1_Click()
    Cells(1, 1) = Cells(1, 1) + 10
    MsgBox (Cells(1, 1))
End Sub


Ainsi il utilise la cellule (1,1) à c'est à dire A1 pour mémoriser une valeur qu'il affiche à chaque clic en ajoutant 10

(Précision)
on peut aussi utiliser une variable statique (mais qui revient à 0 qd on ferme le classeur) :
Private Sub CommandButton1_Click()
    Static COMPTAGE
    COMPTAGE = COMPTAGE + 10
    MsgBox (COMPTAGE)
End Sub


A+
0
lermite222 Messages postés 9042 Statut Contributeur 1 191
 
Bonjour,
Un petit exemple
A+
0
Néon
 
Merci d'avoir répondu aussi vite ta réponse est pas mal mais serai t'il possible de choisir le message qui vont être afficher ?

Car s’etait pas vraiment des adition de 10 que je voulais faire

Merci
0
pilas31 Messages postés 1878 Statut Contributeur 647
 
Oui tu peux tester la valeur et mettre un message différent.
Par exemple :
Private Sub CommandButton1_Click()
    Static COMPTAGE
    COMPTAGE = COMPTAGE + 10
    Select Case COMPTAGE
    Case 10
    MsgBox ("message pour 10")
    Case 20
    MsgBox ("message pour 20")
    Case Else
    MsgBox ("message autre")
    End Select
End Sub
0
Néon > pilas31 Messages postés 1878 Statut Contributeur
 
Ah magnifique c'est un truck comme sa que je chercher dernière tit question après je te laisse trankil lol y'a t'il comme dans le premier code vba que tu ma filer un moyen d'enregistrer quelque part les valeurs ?

Ton deuxième code et ske je recherchai mais j'aimerai que les donner s'enregistrer dans une cellule si possible a la suite les une après les autres

merci bcp
0
pilas31 Messages postés 1878 Statut Contributeur 647 > Néon
 
Oui bien sur, mais là j'avoue que je ne comprends pas bien ce que tu veux enregister car pour enregistrer des valeurs qui sont incrémentées automatiquements, je ne comprends pas bien l'intérêt.

Enfin, essaies d'être un peu plus précis dans ta demande et je te propose un code modifié...

A+
0
Néon > pilas31 Messages postés 1878 Statut Contributeur
 
re dsl pour manque de clarté alr ce que j'aurai voulu c’est un code permettant d'afficher un texte ( définie) et que ce texte s'enregistre dans une cellule une foi que l'on a cliquer sur le bouton

Ton deuxième code remplit parfaitement l'affiche d'un texte prédéfini il faudra juste que je puisse enregistrer le message lors du clic (ce que ton premier code faisait)

en espérant avoir été plus clair

merci
0
Néon > Néon
 
up
0
pilas31 Messages postés 1878 Statut Contributeur 647
 
Re bonjour,

Je n'étais plus disponible mais j'ai bien compris à présent ta demande : voilà un petit code modifié qui fait ce que tu souhaites :
Private Sub CommandButton1_Click()
COMPTAGE = Sheets("feuil1").Cells(1, 1)
    COMPTAGE = COMPTAGE + 1
    Select Case COMPTAGE
        Case 1
            MsgBox ("message pour 1")
            Sheets("feuil1").Cells(COMPTAGE, 2) = "message pour 1"
        Case 2
            MsgBox ("message pour 2")
            Sheets("feuil1").Cells(COMPTAGE, 2) = "message pour 2"
        Case 3
            MsgBox ("message pour 3")
            Sheets("feuil1").Cells(COMPTAGE, 2) = "message pour 3"
        '.... etc
        Case Else
            MsgBox ("message autre")
            Sheets("feuil1").Cells(COMPTAGE, 2) = "message autre"
    End Select
    Sheets("feuil1").Cells(1, 1) = COMPTAGE
End Sub

dans la cellule(1,1) c'est à dire A1 j'ai mis le compteur (il mémorise le nombre de fois ou tu as cliqué sur le bouton) au départ tu peux l'initialiser à 0.
Ensuite dans la colonne B tu as les différents textes qui s'affichent au fur et à mesure.
Pour bien te montrer j'ai préfixé avec le nom de la feuille (sheets("feuil1"))

Tu peux facilement adapter cet exemple.--

Cordialement,
Il nous faudrait un plus gros bateau !
0