Un sur la feuil3, Userform qui est nommé : Formulaire_clients
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Intersect([a1:a65000], Target) Is Nothing And Target.Count = 1 Then Formulaire_clients.Left = Target.Left + 100 Formulaire_clients.Top = Target.Top + 105 - Cells(ActiveWindow.ScrollRow, 1).Top Formulaire_clients.Show End If End Sub
Un sur la feuil1, Userform qui est nommé :: Formulaire_Devis
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' action sur 2 clicks dans la cellule If Not Intersect([c11:c25], Target) Is Nothing And Target.Count = 1 Then Formulaire_Devis.Left = Target.Left + 100 Formulaire_Devis.Top = Target.Top + 105 - Cells(ActiveWindow.ScrollRow, 1).Top Formulaire_Devis.Show End If End Sub
J’utilisais ces userform sur deux fichiers et il n’y avait pas de problème de fonctionnement.
Depuis que j’ai importé l’userform Formulaire_Devis dans le même fichier, le Formulaire_Devis ne fonctionne plus alors que l'autre Formulaire_clients fonctionne bien.
Le problème:
a) Au lancement par F5 (depuis la macro) j’ai l’erreur :
Erreur d’exécution ‘1004’ : La méthode ‘range’ de l’objet_Global a échoué
b) au lancement par un double clic dans la feuille 1, erreur identique à (a) avec arrêt sur la ligne
Formulaire_Devis.Left = Target.Left + 100
Auriez-vous une idée de la cause possible et comment y remédier ?
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) ' action sur 2 clicks dans la cellule
If Not Application.Intersect(Target, Range("C11:C25")) Is Nothing And Target.Count = 1 Then
Formulaire_Devis.Left = Target.Left + 100
Formulaire_Devis.Top = Target.Top + 105 - Cells(ActiveWindow.ScrollRow, 1).Top
Formulaire_Devis.Show
End If
End Sub
et dans la feuille3:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("A1:A65000")) Is Nothing And Target.Count = 1 Then
Formulaire_clients.Left = Target.Left + 100
Formulaire_clients.Top = Target.Top + 105 - Cells(ActiveWindow.ScrollRow, 1).Top
Formulaire_clients.Show
End If
End Sub
j'ai essayé de refaire l'userform mais j'ai le même défaut.
la vie n'est pas simple avec VBA !!!!
Excel 2003 doit-être la cause.
Je vais prendre une semaine de recule car je croix que je vais disjoncter.
Tu dis:
depuis que j’ai importé l’userform Formulaire_Devis dans le même fichier
Cela provient certainement de là.
Supprime ton UserForm et tu en crées une autre a partir de l'éditeur de ton classeur et non pas par un copier coller
Je n'est pas fait un copie coller, mais un importé.
Je vais essayer un copier.
Si ça ne marche pas je vais le refaire à partir de l'éditeur.
Merci
Cordialement
Mais cela doit provenir de là.
Je me suis mis dans la même situation et cela fonctionne très bien.
j'ai essayé de refaire l'userform mais j'ai le même défaut.
la vie n'est pas simple avec VBA !!!!
Excel 2003 doit-être la cause.
Je vais prendre une semaine de recule car je croix que je vais disjoncter.
Merci encore pour l'aide.
Cordialement
En effectuant le programme pas à pas j'ai détecté ou était le défaut.
j'ai donc trouvé la solution, sans comprendre le pourquoi !!!
Merci à tous
Cordialement