[Résolu] Auto-complétion continue avec VBA

  • Initiateur de la discussion Initiateur de la discussion Max60150
  • 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 !

Max60150

XLDnaute Junior
Bonjour le forum,

J'ai encore une fois du mal à expliquer mo problème dans le titre, bref, j'ai toute la place qu'il me faut ici !

J'ai mis en pièce jointe un petit fichier pour illustrer mon problème.

En gros, j'utilise ce code:

Code:
Private Sub CheckBox1_Change()
    If CheckBox1 = True Then
        Range("D6") = Range("D2")
        Range("D7") = Range("D3")
    End If
    If CheckBox1 = False Then
        Range("D6") = ""
        Range("D7") = ""
End Sub

Si je coche ma checkbox, D6 et D7 prennent la valeur de D2 et D3.
Mais ensuite plus rien, le lien n'est pas conservé et je je modifie D2 ou D3 rien ne se passe en D6 D7.

J'aimerai pouvoir switcher entre deux modes:
- Mode D6 D7 = D2 D3: Si je coche ma checkbox, D6 et D7 se verrouillent et se complètent automatiquement avec la valeur que j'entre pour D2 D3, et si je modifie D2 D3 par la suite, D6 D7 est mis à jour en temps réel.
- Mode D6 D7 différents de D2 D3: Si je décoche ma box, je rompt le lien entre mes cellules. D6 D7 se déverrouillent, et c'est moi qui doit entrer les valeurs de D2, D3, D6 et D7.

Voila, j'espère être clair, je suis dispo pour les questions si besoin !

Merci d'avance 🙂
 

Pièces jointes

Dernière édition:
Re : Auto-complétion continue avec VBA

Bonjour Max60150

Si j'ai bien compris, ceci devrait aller:
VB:
Private Sub CheckBox1_Change()
If CheckBox1 = True Then
    Range("D6").FormulaLocal = "=$D$2"
    Range("D7").FormulaLocal = "=$D$3"
Else
    Range("D6") = ""
    Range("D7") = ""
End If
End Sub

Cordialement
 
Dernière édition:
Re : Auto-complétion continue avec VBA

essaye comme ça
Code:
Private Sub CheckBox1_Change()
    If CheckBox1 = True Then
        Range("D6") = Range("D2")
        Range("D7") = Range("D3")
    ElseIf CheckBox1 = False Then
        Range("D6") = ""
        Range("D7") = ""
    End If
End Sub

Oup! j'avais pas bien compris
 
Dernière édition:
Re : Auto-complétion continue avec VBA

Bonjour Efgé, Bonjour Pyton !
Et merci pour la rapidité 🙂

La solution d'Efgé fonctionne parfaitement, merci beaucoup 🙂
Je me doutais que j'étais pas loin de la solution !

J'ai quand même testé la solution de Pyton par curiosité, mais pas d'évolution comparé a mon code de départ !

Merci à vous deux, bon après midi !
 
- 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

Discussions similaires

Réponses
12
Affichages
2 K
Retour