Bouton réinitialiser VBA

Bonjour

je voudrais créer un bouton VBA pour réinitialiser des cellule a listes déroulantes

sachant que l'état initial des cellule doit être déterminé

Merci

51nismo.xlsx (11.38 Ko)
23nismo.xlsx (11.38 Ko)

Bonjour,

Réinitialiser une variable, c'est la vider de son contenu... Peux-tu préciser ce que tu entends par réinitialiser dans ton cas : quel doit-être le résultat de la réinitialisation ?

Salut

par exemple dans une cellule j'ai une liste déroulante qui comprends deux variables : Oui et Non

je voudrais que le résultat de l'initialisation soit non qui est la valeur par défaut .

Re,

Quelque chose comme ça :

Sub Réinit()
    Dim c, def, i%
    c = Split("E4 E6 G4 G6")
    def = Array("Non", "Non", 0, 0)
    With ActiveSheet
        For i = 0 To UBound(c)
            .Range(c(i)) = def(i)
        Next i
    End With
End Sub

Bonjour,

Bonjour MFerrand,

Un exemple dans le fichier joint.

Cdlt.

62nismo.xlsm (26.66 Ko)
Private Sub cmdReset_Click()
    Range("E4,E6").Value = "Non"
    Range("G4,G6").Value = 0
End Sub

Merci MFerrand ça marche

mais j'ai un probleme je voudrais insérer un chiffre décimal au lieu du "0 " mais en VBA ca marche ma il me donne automatiquement le chiffre en nombre entier

exemple au lieu de "0" "7.25878"

Merci

26nismo-1.xlsm (21.12 Ko)

Tu mets le nombre que tu souhaites... !

regarde quand je mets "7,25243758052443 " et j'appuis sur réinitialiser il me donne 725243758052443

En VBA il faut utiliser le point comme séparateur décimal...

RE,

Essaie :

Sub DEMO()
    Range("E4,E6,E8").Value = "Non"
    Range("G4,G6,G8").Value = 7.258987
End Sub

Merci à tous les deux

@MFerrand Oui je m'en suis rendu compte après t'avoir envoyé le message

Bonne journée à tous

Salut tout le monde

J'ai plus d'espace pour compléter mon écriture en VBA je fais comment

Que veux-tu dire par là

Salut MFerrand

J'ai plus d'espace pour compléter mon écriture en VBA

la fenetre est saturée

Cordialement


c'est à dire que la boucle est terminé et ça me force à sauter une ligne mais dans ce cas la le code ne marcherai plus

10nismo-19.xlsm (19.98 Ko)

Faut pas hésiter à aller à la ligne... une espace suivie d'un underline n'interrompt pas la ligne de code.

Sub Réinit()
    Dim c, def, i%
    c = Split("E6 E8 E29 E31 E33 E35 E37 E39 E41 E43 E45 E51 E59 E61 I59 G59 I68 I70 I72 I74 I76 I78 " _
     & "I80 I82 I84 E88 E90 E92 E94 E96 E98 E100 E102 E104 I88 I90 I92 I94 I96 I98 I100 I102 I104 " _
     & "I112 I114 I116 I118 I120 I122 I124 I126 I128 E132 E134 E136 E138 E140 E142 E144 E146 E148 " _
     & "I132 I134 I136 I138 I140 I142 I144 I146 I148 E153 E155 E157 E159 E161 E163 E165 E167 E169 I153 " _
     & "I155 I157 I159 I161 I163 I165 I167 I169 E203 E205 E207 E209 E211 E213 E215 I203 I205 I207 I209 " _
     & "I211 I213 I215 E223 E225 E227 E229 E231 E233 E235 E237 E239 I223 I225 I227 I229 I231 I233 I235 " _
     & "I237 I239 E246 E248 E250 E252 E254 E256 E258 E260 E262 I246 I248 I250 I252 I254 I256 I258 I260 " _
     & "I262 E269 E271 E273 E275 E277 E279 E281 E283 E285 I269 I271 I273 I275 I277 I279 I281 I283 I285")
    def = Array("2016", "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", _
     "Non", "Non", 0, 0, 7.25243758052443, 12.8002100528882, -21.9902737677263, -80.6837606837607, _
     -178.7891335, -202.387881818182, -204.558879310345, -217.349179151515, -218.064722926829, "Non", _
     "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.955177935656515, _
     -7.48831859930748, 49.2625203643885, 5.54739173090399, 4.05046666666669, 7.10833333333334, _
     7.11374999999999, 6.57432604539385, 5.07327919968408, "Non", "Non", "Non", "Non", "Non", "Non", "Non", _
     "Non", "Non", 0, 0, 0, 0, 0, 0, 0, 0, 0, "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", _
     "Non", 0, 0, 0, 0, 0, 0, 0, 0, 0, "Non", "Non", "Non", "Non", "Non", "Non", "Non", 0, 0, 0, 0, 0, 0, _
     0, "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", 0, 0, 0, 0, 0, 0, 0, 0, 0, "Non", _
     "Non", "Non", "Non", "Non", "Non", "Non", "Non", "Non", 0, 0, 0, 0, 0, 0, 0, 0, 0)
    With ActiveSheet
        For i = 0 To UBound(c)
            .Range(c(i)) = def(i)
        Next i
    End With
End Sub

Mais c va de 0 à 155, def de 0 à 137 (il manque donc des valeur dans def...

NB- Les guillemets c'est pour indiquer du texte, les nombres ne doivent jamais être entre guillemets.

Merci beaucoup

Rechercher des sujets similaires à "bouton reinitialiser vba"