Gestion de plusieurs userform dans un fichier [Résolu/Fermé]

Signaler
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
Bonjour,

J’ai deux user form dans mon fichier,

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 ?

Cordialement

1 réponse

Messages postés
6477
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2020
439
Bonjour,

Essaie cela:

Dans Feuille1:

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


cs_Le Pivert
Messages postés
6477
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2020
439
Chez moi cela fonctionne!

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
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 > cs_Le Pivert
Messages postés
6477
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2020

Re,

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
cs_Le Pivert
Messages postés
6477
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2020
439 > mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019

Tu as raison c'est importé, je me suis mal exprimé!
Mais cela doit provenir de là.
Je me suis mis dans la même situation et cela fonctionne très bien.
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 > cs_Le Pivert
Messages postés
6477
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 janvier 2020

Bonjour,

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
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7 > mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019

Bonjour,


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