Exécuter une macro en fonction d une donnée
Deb
-
Deb -
Deb -
Bonjour,
Je souhaiterai qu une macro exécute lorsque j indique "autres" dans ma cellule A1
Pour cela, j ai créé une macro et renseigné le code suivant dans Visualiser le code :
Private Sub Worksheet_Change (ByVal Target As Range)
If Range ("A1") = "Autres" Then
Test1
End If
End Sub
Lorsque j exécute ma macro seule, j ai aucun soucis par contre dès que j indique mon code dans Visualier le code la macro est en boucle et je ne peux plus quitter Excel
Pouvez vous m aider et m indiquer comment résoudre mon problème
Merci beaucoup par avance pour votre aide
Ps : voici le détail de ma macro
Sub Test1()
Dim coeff As String
Dim nbpoint As String
coeff = InputBox("Indiquer le coefficient","Saisie du coefficient")
nbpoint = InputBox("Indiquer le nombre de points","Saisie du nombre de points")
Range ("A3") = coeff
Range ("A4") = nbpoint
End Sub
Je souhaiterai qu une macro exécute lorsque j indique "autres" dans ma cellule A1
Pour cela, j ai créé une macro et renseigné le code suivant dans Visualiser le code :
Private Sub Worksheet_Change (ByVal Target As Range)
If Range ("A1") = "Autres" Then
Test1
End If
End Sub
Lorsque j exécute ma macro seule, j ai aucun soucis par contre dès que j indique mon code dans Visualier le code la macro est en boucle et je ne peux plus quitter Excel
Pouvez vous m aider et m indiquer comment résoudre mon problème
Merci beaucoup par avance pour votre aide
Ps : voici le détail de ma macro
Sub Test1()
Dim coeff As String
Dim nbpoint As String
coeff = InputBox("Indiquer le coefficient","Saisie du coefficient")
nbpoint = InputBox("Indiquer le nombre de points","Saisie du nombre de points")
Range ("A3") = coeff
Range ("A4") = nbpoint
End Sub
3 réponses
-
bonjour,
C'est normal tu l'as mis dans l'événement
Private Sub Worksheet_Change (ByVal Target As Range)
à chaque changement ta macro s'effectue
Mets la dans:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Range("A1") = "Autres" Then Test1 End If End Sub
change tes InputBox pour forcer la saisie en numérique.
Regarde le dernier exemple
https://www.excel-plus.fr/vba/demvba/msgbox-inputbox-et-application-inputbox/
la macro est en boucle et je ne peux plus quitter Excel
petit astuce pour quitter et revenir à l'éditeur: Ctrl Pause
voilà
-
Bonjour cs_Le Pivert,
Merci pour ta réponse et tes conseils.
J ai modifié le code en utilisant le BeforeDoubleClick mais je n obtiens toujours pas ce que je souhaite. Avec cette modification, la macro s exécute lorsque la cellule A1 est égale à "Autres" et que je double clique dans cette cellule or je voudrais que la macro s exécute automatiquement à chaque fois que l on choisit la donnée "Autres" dans la cellule A1.
Encore merci ;-) -
Comme ceci:
se déclenche au double clic dans la cellule A1 si "Autres" present
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A1")) Is Nothing Then If Range("A1") = "Autres" Then Test1 End If End If End Sub
voilà
@+ Le Pivert
-
-
Bonjour,
Essaye ce code peut être....Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Set plage = activesheet.Range("A1") If Not Intersect(Target, plage) Is Nothing And Activesheet.range("A1") = "Autres" Then Test1 End if Application.EnableEvents = True End sub
Bonne journée -
Je suis surpris que ce code ne fonctionne pas chez toi car je l'utilise tous les jours sans aucun souci... quel version d'Excel as-tu? Te serait-il possible de poster ton fichier (anonymé) que l'on puisse regarder la cause de ce problème?
Bonne journée
Jc