Exécuter une macro en fonction d une donnée

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
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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à

0
Deb
 
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 ;-)
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
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
0
titeufdu89 Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   38
 
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
0
Deb
 
Bonjour tituefdu89,

Cela ne fonctionne pas :-( avec ce code la macro ne s exécute pas

Merci pour ta proposition et bonne journée
0
titeufdu89 Messages postés 374 Date d'inscription   Statut Membre Dernière intervention   38
 
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
0
Deb
 
Bonjour titeufdu89,

Je suis désolée de répondre qu aujourd'hui mais je n ai pas trop eu le temps
0
Deb
 
Je viens de re rester et cela fonctionne!!
Mille mercis pour ton aide
0