Gestion de plusieurs userform dans un fichier

Résolu
mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   -  
mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
    
    

    0
    1. mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   11
       
      Bonjour,

      Merci d'avoir pris du temps pour regarder mon problème.

      J'ai fait les modifications est le problème est identique .
      Je suis en Excel 2003

      Cordialement
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      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
      0
    3. mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   11 > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      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
      0
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention  
       
      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.
      0
    5. mijean94 Messages postés 413 Date d'inscription   Statut Membre Dernière intervention   11 > cs_Le Pivert Messages postés 8437 Statut Contributeur
       
      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
      0