Autres Copie de macro VBA d'un classeur dans un autre qui ne fonctionne pas (EXCEL 2007)

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

GUGUSSE2

XLDnaute Occasionnel
Bonjour,
Mes fichiers sont en "EXCEL 2007".

Dans le fichier "Diviseur 40-45.xlsm" il y a une macro qui ne permet d'entrer une donnée QUE dans "B2" ou (exclusif) "B4".
Je voulais avoir le même comportement avec les cases "B2" ou "B3" dans le fichier "Ergot.xlsm".
J'ai donc importé la macro en modifiant les adresses ("B4" changé en "B3").
Mais seulement, les données ne sont pas effacées dans la case voisine quand on entre une valeur dans l'autre case !
Quelle est mon erreur ?
Quelqu'un peut-il corriger ce problème ?

Bien cordialement,
GUGUSSE2
 

Pièces jointes

Bonsoir Gugusse,
Worksheet_Change est une macro événementielle, elle doit donc se trouver dans la Feuil1.
Ensuite le code réfère B2 et B4.
Donc je l'ai modifiée ainsi :
VB:
 Private Sub Worksheet_Change(ByVal r As Range)
Application.EnableEvents = False
ActiveSheet.Unprotect
If r.Address = "$B$2" Then
   [b3] = ""
   [b3].Select
Else
   [b2] = ""
   [b2].Select
End If
'ActiveSheet.Shapes("Groupe 1").Visible = IIf([B7] >= 0, True, False)
'ActiveSheet.Shapes("Groupe 2").Visible = IIf([B7] < 0, True, False)
If [B1] > 0 Then
'ActiveSheet.Shapes("Groupe 1").Visible = False
'ActiveSheet.Shapes("Groupe 2").Visible = False
End If
ActiveSheet.Protect
Application.EnableEvents = True
End Sub
Par contre ça coince sur ActiveSheet.Shapes("Groupe 1"), à vous de voir ce que vous voulez faire.
en PJ j'ai mis ça en commentaire, vous pouvez au moins tester le comportement de B2 B3.
 

Pièces jointes

Je ne vois pas la réponse que j'avais faite, je réitère donc :
Il est normal que les "ActiveSheet.Shape" ne fonctionnent pas puisqu'il n'y en a pas et qu'il n'y en a pas besoin dans le fichier "Ergot".
Le "ou exclusif" entre B2 & B3 fonctionne.
Considérez le problème résolu (je ne trouve pas le bouton pour le faire.
Merci aux sympathiques membres.
Bien cordialement,
GUGUSSE2
 
Dernière édition:
- 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

Retour