IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Erreur d'execution "9", plusieurs classeurs.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut Erreur d'execution "9", plusieurs classeurs.
    Bonsoir tout le monde !

    Bon je vais essayer de faire sans pièce jointe pour commencer avec juste les codes qui m’intéressent :

    Donc j'ai un userform qui, quand on le lance, ouvre plusieurs classeurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Open Filename:=ThisWorkbook.Path & "\BDD.xlsm"
    Workbooks.Open Filename:=ThisWorkbook.Path & "\Donnée TRS.xlsm"
    Une des fonctionnalités de mon userform est de rechercher des informations dans un des classeurs de la manière suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Private Sub CommandButton2_Click()
     
      Dim LigF As Long
      If TextBox1 = "" Then
        CreateObject("Wscript.shell").Popup "Merci de saisir une référence", 3, "Erreur"
         Exit Sub  ' Evite un 2ème test
     End If
     
     
      With Workbooks("BDD").Sheets("BDD")
     
    On Error Resume Next  ' Si ligne non trouvée
       LigF = 0
        LigF = .Columns("A:A").Find(What:=Me.TextBox1.Value, LookIn:=xlValues, _
                LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False).Row
     
        On Error GoTo 0
     
        ' Si la ligne est trouvée, mettre à jour l'USF
     
       If LigF <> 0 Then
     
          Me.TextBox2.Value = .Cells(LigF, 2).Value
          Me.ComboBox1.Value = .Cells(LigF, 3).Value
          Me.ComboBox2.Value = .Cells(LigF, 4).Value
          Me.ComboBox3.Value = .Cells(LigF, 5).Value
          Me.ComboBox4.Value = .Cells(LigF, 6).Value
          Me.TextBox3.Value = .Cells(LigF, 7).Value
          Me.TextBox4.Value = .Cells(LigF, 8).Value
          Me.TextBox5.Value = .Cells(LigF, 9).Value
          Me.TextBox6.Value = .Cells(LigF, 10).Value
          Me.TextBox7.Value = .Cells(LigF, 11).Value
          Me.TextBox8.Value = .Cells(LigF, 12).Value
     
       End If
      End With
     
     
    End Sub
    Seulement j’obtiens l'erreur 9...

    J'ai vu que l'on pouvait jouer avec les Variables d'objets mais je sèche sur le coups...

    J'en appel à vos connaissances !

    En attendant une réponse, bonne soirée

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Explicit
     
    Dim Wbk As Workbook
     
    Private Sub UserForm_Initialize()
     
    Set Wbk = Workbooks.Open(ThisWorkbook.Path & "\BDD.xlsm")
    End Sub
     
    Private Sub CommandButton2_Click()
    Dim LigF As Long
    Dim c As Range
     
    If TextBox1 = "" Then
        MsgBox "Merci de saisir une référence"
    Else
        With Wbk.Worksheets("BDD")
            Set c = .Columns("A:A").Find(What:=Me.TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole)
     
            If Not c Is Nothing Then
                LigF = c.Row
                Set c = Nothing
                Me.TextBox2.Value = .Cells(LigF, 2).Value
                Me.ComboBox1.Value = .Cells(LigF, 3).Value
                Me.ComboBox2.Value = .Cells(LigF, 4).Value
                Me.ComboBox3.Value = .Cells(LigF, 5).Value
                Me.ComboBox4.Value = .Cells(LigF, 6).Value
                Me.TextBox3.Value = .Cells(LigF, 7).Value
                Me.TextBox4.Value = .Cells(LigF, 8).Value
                Me.TextBox5.Value = .Cells(LigF, 9).Value
                Me.TextBox6.Value = .Cells(LigF, 10).Value
                Me.TextBox7.Value = .Cells(LigF, 11).Value
                Me.TextBox8.Value = .Cells(LigF, 12).Value
            End If
        End With
    End If
    End Sub

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut
    Merci d'avoir répondu

    Seulement j'ai une erreur 91 et il me marque cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Wbk.Worksheets("BDD")
    Je suis entrain de chercher le problème.

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Où as tu mis ton code?

    Rassure toi

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Par défaut
    Dans l'userform au début.

    Le fichier : http://cjoint.com/?0EpvGkufopr

    J'espère que tu t'en sortira...

    C'est dans "renseigner des données" puis en cherchant une référence "1".

    Enfaite au début tout était sous le même classeur mais j'ai du séparer les feuilles d'où la présence de deux classeurs "Données TRS" et "BDD"

  6. #6
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Erreur de débutant ou excès a boras?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Initialize()
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Renseignement_Initialize()

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo