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 -2147024809 (80070057)" objet spécifié non trouvable


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut Erreur d'execution -2147024809 (80070057)" objet spécifié non trouvable
    J'ai effectué ceci mais j'ai un message "erreur d'execution -2147024809 (80070057)" objet spécifié non trouvable.

    Je n'arrive pas à trouver la provenance de l'erreur.

    Est-ce que quelqu'un pourrait m'aider? s'il vous plaît



    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    'Pour le formulaire
     
    Private Sub UserForm_Initialize()
     
    Dim L As Long
     
        Dim K As Integer
     
        ComboBox4.ColumnCount = 1 'Pour la liste déroulante Civilité
     
        ComboBox4.List() = Array("", "M.", "Mme", "Mlle")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        ComboBox5.ColumnCount = 1 'Pour la liste déroulante Commune
     
        ComboBox5.List() = Array("", " Ajoupa-Bouillon", " Anses d Arlet")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        With Me.ComboBox1
     
            For L = 6 To Ws.Range("A" & Rows.Count).End(xlUp).Row
     
                .AddItem Ws.Range("A" & L)
     
            Next L
     
        End With
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K
     
    End Sub
     
     
    'Pour la liste déroulante Code client
    Private Sub ComboBox1_Change()
     
        Dim Ligne As Long
     
        Dim K As Integer
     
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.ComboBox1.ListIndex + 2
     
        ComboBox2 = Ws.Cells(Ligne, "B")
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K) = Ws.Cells(Ligne, K + 2)
     
        Next K
     
    End Sub
     
    'Pour le bouton Nouveau contact
     
    Private Sub CommandButton1_Click()
     
        Dim L As Integer
     
        If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
     
            L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
     
            Range("A5" & L5).Value = ComboBox1
     
            Range("C5" & L5).Value = ComboBox4
     
            Range("D5" & L5).Value = TextBox1
     
            Range("E5" & L5).Value = TextBox2
     
            Range("F5" & L5).Value = TextBox3
     
            Range("G5" & L5).Value = TextBox4
     
            Range("H5" & L5).Value = ComboBox5
     
            Range("I5" & L5).Value = TextBox5
     
            Range("J5" & L5).Value = TextBox7
     
            Range("K5" & L5).Value = TextBox6
        End If
     
    End Sub
     
    'Pour le bouton Modifier
     
    Private Sub CommandButton2_Click()
     
        Dim Ligne As Long
     
        Dim I As Integer
     
        If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
     
            If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
            Ligne = Me.ComboBox1.ListIndex + 2
     
            Ws.Cells(Ligne, "C") = ComboBox4
     
            For K = 1 To 11
     
                If Me.Controls("TextBox" & K).Visible = True Then
     
                    Ws.Cells(Ligne, K + 6) = Me.Controls("TextBox" & K)
     
                End If
     
            Next K
     
        End If
     
    End Sub
     
    'Pour le bouton Quitter
     
    Private Sub CommandButton3_Click()
     
        Unload Me
     
    End Sub

  2. #2
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut erreur d'execution -2147024809 (80070057)" objet spécifié non trouvable
    Bonjour,

    J'ai effectué ceci mais j'ai un message
    erreur d'exécution -2147024809 (80070057)" objet spécifié non trouvable.
    Je n'arrive pas à trouver la provenance de l'erreur.

    Est-ce que quelqu'un pourrait m'aider? s'il vous plaît

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    'Pour le formulaire
     
    Private Sub UserForm_Initialize()
     
        Dim L As Long
     
        Dim K As Integer
     
        ComboBox4.ColumnCount = 1 'Pour la liste déroulante Civilité
     
        ComboBox4.List() = Array("", "M.", "Mme", "Mlle")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        ComboBox5.ColumnCount = 1 'Pour la liste déroulante Commune
     
        ComboBox5.List() = Array("", " Ajoupa-Bouillon", " Anses d Arlet")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        With Me.ComboBox1
     
            For L = 6 To Ws.Range("A" & Rows.Count).End(xlUp).Row
     
                .AddItem Ws.Range("A" & L)
     
            Next L
     
        End With
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K
     
    End Sub
     
     
    'Pour la liste déroulante Code client
    Private Sub ComboBox1_Change()
     
        Dim Ligne As Long
     
        Dim K As Integer
     
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.ComboBox1.ListIndex + 2
     
        ComboBox2 = Ws.Cells(Ligne, "B")
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K) = Ws.Cells(Ligne, K + 2)
     
        Next K
     
    End Sub
     
    'Pour le bouton Nouveau contact
     
    Private Sub CommandButton1_Click()
     
        Dim L As Integer
     
        If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
     
            L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
     
            Range("A5" & L5).Value = ComboBox1
     
            Range("C5" & L5).Value = ComboBox4
     
            Range("D5" & L5).Value = TextBox1
     
            Range("E5" & L5).Value = TextBox2
     
            Range("F5" & L5).Value = TextBox3
     
            Range("G5" & L5).Value = TextBox4
     
            Range("H5" & L5).Value = ComboBox5
     
            Range("I5" & L5).Value = TextBox5
     
            Range("J5" & L5).Value = TextBox7
     
            Range("K5" & L5).Value = TextBox6
        End If
     
    End Sub
     
    'Pour le bouton Modifier
     
    Private Sub CommandButton2_Click()
     
        Dim Ligne As Long
     
        Dim I As Integer
     
        If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
     
            If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
            Ligne = Me.ComboBox1.ListIndex + 2
     
            Ws.Cells(Ligne, "C") = ComboBox4
     
            For K = 1 To 11
     
                If Me.Controls("TextBox" & K).Visible = True Then
     
                    Ws.Cells(Ligne, K + 6) = Me.Controls("TextBox" & K)
     
                End If
     
            Next K
     
        End If
     
    End Sub
     
    'Pour le bouton Quitter
     
    Private Sub CommandButton3_Click()
     
        Unload Me
     
    End Sub

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Premièrement, quand tu postes un code utilise le bouton # pour formater celui-ci.
    Sélectionne ton code et clique le bouton.
    Ça rend la lecture un peu plus simple...

    Sur quelle ligne survient l'erreur ?

    Essaie en changeant ces lignes
    Range("A5" & L5).Value = ComboBox1
    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & L).Value = ComboBox1

  4. #4
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je l'ai essayé mais le problème n'est pas résolu

  5. #5
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
      'Pour le formulaire
     
    Private Sub UserForm_Initialize()
     
    Dim L As Long
     
        Dim K As Integer
     
        ComboBox4.ColumnCount = 1 'Pour la liste déroulante Civilité
     
        ComboBox4.List() = Array("", "M.", "Mme", "Mlle")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        ComboBox5.ColumnCount = 1 'Pour la liste déroulante Commune
     
        ComboBox5.List() = Array("", "97216 Ajoupa-Bouillon", "97217 Anses d Arlet", "97218 Basse Pointe", "97222 Bellefontaine", "97221 Carbet", "97222 Case Pilote", "97223 Diamant", "97224 Ducos", "97250 Fonds - Saint - Denis", "97200 Fort - de - France", "97240 François", "97218 Grand - Rivière", "97213 Gros - Morne", "97232 Lamentin", "97214 Lorrain", "97218 Macouba", "97225 Marigot", "97290 Marin", "97260 Morne Rouge", "97226 Morne Vert", "97250 Prêcheur", "97211 Rivière - Pilote", "97215 Rivière - Salée", "97231 Robert", "97270 Saint - Esprit", "97212 Saint - Joseph", "97250 Saint - Pierre", "97227 Sainte - Anne", "97228 Sainte - Luce", "97230 Sainte -Marie", "97233 Schoelcher", "97220 Trinité", "97229 Trois -îlets", "97280 Vauclin")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        With Me.ComboBox1
     
            For L = 6 To Ws.Range("A" & Rows.Count).End(xlUp).Row
     
                .AddItem Ws.Range("A" & L)
     
            Next L
     
        End With
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K
     
    End Sub
     
     
    'Pour la liste déroulante Code client
    Private Sub ComboBox1_Change()
     
        Dim Ligne As Long
     
        Dim K As Integer
     
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.ComboBox1.ListIndex + 2
     
        ComboBox2 = Ws.Cells(Ligne, "B")
     
        For K = 1 To 11
     
            Me.Controls("TextBox" & K) = Ws.Cells(Ligne, K + 2)
     
        Next K
     
    End Sub
     
    'Pour le bouton Nouveau contact
     
    Private Sub CommandButton1_Click()
     
        Dim L As Integer
     
        If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
     
            L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
     
            Range("A5" & L5).Value = ComboBox1
     
            Range("C5" & L5).Value = ComboBox4
     
            Range("D5" & L5).Value = TextBox1
     
            Range("E5" & L5).Value = TextBox2
     
            Range("F5" & L5).Value = TextBox3
     
            Range("G5" & L5).Value = TextBox4
     
            Range("H5" & L5).Value = ComboBox5
     
            Range("I5" & L5).Value = TextBox5
     
            Range("J5" & L5).Value = TextBox7
     
            Range("K5" & L5).Value = TextBox6
        End If
     
    End Sub
     
    'Pour le bouton Modifier
     
    Private Sub CommandButton2_Click()
     
        Dim Ligne As Long
     
        Dim I As Integer
     
        If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
     
            If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
            Ligne = Me.ComboBox1.ListIndex + 2
     
            Ws.Cells(Ligne, "C") = ComboBox4
     
            For K = 1 To 11
     
                If Me.Controls("TextBox" & K).Visible = True Then
     
                    Ws.Cells(Ligne, K + 6) = Me.Controls("TextBox" & K)
     
                End If
     
            Next K
     
        End If
     
    End Sub
     
    'Pour le bouton Quitter
     
    Private Sub CommandButton3_Click()
     
        Unload Me
     
    End Sub
    Je n'ai malheureusement pas d'idée de quelle provient le problème

  6. #6
    Membre habitué
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Points : 197
    Points
    197
    Par défaut
    Bonjour, pas sur que ce soit ça mais il manque en début de procédure


  7. #7
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Bonjour WOLF,

    Merci pour ta réponse. Effectivement, c'était un oubli, néanmoins le problème persiste.

  8. #8
    Membre habitué
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Points : 197
    Points
    197
    Par défaut
    Est-ce possible que vous postiez le fichier à problème ?

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    As-tu essayé en changeant les lignes 72 à 90 comme je te l'ai dit ?

  10. #10
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Oui, oui

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Citation Envoyé par ANTHOTJ Voir le message
    Je n'ai malheureusement pas d'idée de quelle provient le problème
    Si tu passes en pas à pas (F8), tu devrais pouvoir cibler la ligne en défaut...

    Assure-toi aussi que les noms des combobox et textbox que tu appelles sont bien existants...

  12. #12
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Ok merci, ça se bloque sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                .AddItem Ws.Range("A" & L)
     
            Next L
    C'est bon pour les Combobox j'ai:1, 4, 5
    J'ai porté une correction pour une ligne mais il ne s'agit apparemment pas de celle-ci que vient le problème

    Pour les textbox j'ai: 1,2,3,4,5,6,7

    J'ai exactement le soucis de la ligne 25 -27

  13. #13
    Membre habitué
    Homme Profil pro
    Lean Manufacturing
    Inscrit en
    Janvier 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Lean Manufacturing

    Informations forums :
    Inscription : Janvier 2015
    Messages : 132
    Points : 197
    Points
    197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    l = ws.Range("A" & Rows.Count).End(xlUp).Row
    ComboBox1.List = Range("A6:A" & l).Value
    en remplacement de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    With Me.ComboBox1
     
            For L = 6 To Ws.Range("A" & Rows.Count).End(xlUp).Row
     
                .AddItem Ws.Range("A" & L)
     
            Next L
     
        End With
    ?
    (En ayant au préalable déclarer ws comme worksheet bien sur...)

  14. #14
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Ok c'est bon, apparemment je n'ai plus d'erreur sur cette ligne.

    L'erreur a été renvoyé sur les lignes suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For K = 1 To 11
     
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K
    Exactement les lignes:31-33 précédemment publiées

    Je te remercie beaucoup pour ton aide.

  15. #15
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Tu dis que tu as
    Pour les textbox j'ai: 1,2,3,4,5,6,7
    et tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For K = 1 To 11
     
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K

  16. #16
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Merci grâce à toi j'ai fait une grande avancé le formulaire fonctionne mais j'ai des erreurs:

    Mes codes clients commencent trop tôt: j'aimerais qu'ils commençent à partir de la cellule A6

    Dans le formulaire quand je sélectionne un contact j'ai tout en décalé (J'ai 2 fois la civilité: une dans la partie civilité (ok) mais aussi une dans la partie prénom, le reste suit)

    Aussi lors de la sélection, la commune qui est dans le fichier ne se met pas dans la Combobox 4: commune, mais dans le textbox suivant

    Aussi, les nouveaux contacts ne remplissent pas les cellules.

    J'ai une erreur apparemment au niveau de l'onglet "Modifier"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For K = 1 To 7
     
                If Me.Controls("TextBox" & K).Visible = True Then
     
                    Ws.Cells(Ligne, K + 6) = Me.Controls("TextBox" & K)
    ça me dit "erreur de compilation, variable non définie




    Nom : Image1.png
Affichages : 1677
Taille : 22,2 Ko

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    Dim Ws As Worksheet
     
    'Pour le formulaire
     
    Private Sub UserForm_Initialize()
     
    Dim L As Long
     
        Dim K As Integer
     
        ComboBox4.ColumnCount = 1 'Pour la liste déroulante Civilité
     
        ComboBox4.List() = Array("", "M.", "Mme", "Mlle")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        ComboBox5.ColumnCount = 1 'Pour la liste déroulante Commune
     
        ComboBox5.List() = Array("", " Ajoupa-Bouillon", "Anses d Arlet")
     
        Set Ws = Sheets("Clients") 'Correspond au nom de votre onglet dans le fichier Excel
     
        L = Ws.Range("A" & Rows.Count).End(xlUp).Row
        ComboBox1.List = Range("A6:A" & L).Value
     
     
     
        For K = 1 To 7
     
            Me.Controls("TextBox" & K).Visible = True
     
        Next K
     
    End Sub
     
     
    'Pour la liste déroulante Code client
    Private Sub ComboBox1_Change()
     
        Dim Ligne As Long
     
        Dim K As Integer
     
        If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
        Ligne = Me.ComboBox1.ListIndex + 2
     
        ComboBox4 = Ws.Cells(Ligne, "C")
     
        For K = 1 To 7
     
            Me.Controls("TextBox" & K) = Ws.Cells(Ligne, K + 2)
     
        Next K
     
    End Sub
     
    'Pour le bouton Nouveau contact
     
    Private Sub CommandButton1_Click()
     
        Dim L As Integer
     
        If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
     
            L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
     
            Range("A" & L).Value = ComboBox1
     
            Range("C" & L).Value = ComboBox4
     
            Range("D" & L).Value = TextBox1
     
            Range("E" & L).Value = TextBox2
     
            Range("F" & L).Value = TextBox3
     
            Range("G" & L).Value = TextBox4
     
            Range("H" & L).Value = ComboBox5
     
            Range("I" & L).Value = TextBox5
     
            Range("J" & L).Value = TextBox7
     
            Range("K" & L).Value = TextBox6
        End If
     
    End Sub
     
    'Pour le bouton Modifier
     
    Private Sub CommandButton2_Click()
     
        Dim Ligne As Long
     
        Dim I As Integer
     
        If MsgBox("Confirmez-vous la modification de ce contact ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
     
            If Me.ComboBox1.ListIndex = -1 Then Exit Sub
     
            Ligne = Me.ComboBox1.ListIndex + 2
     
            Ws.Cells(Ligne, "C") = ComboBox4
     
            For K = 1 To 7
     
                If Me.Controls("TextBox" & K).Visible = True Then
     
                    Ws.Cells(Ligne, K + 6) = Me.Controls("TextBox" & K)
     
                End If
     
            Next K
     
        End If
     
    End Sub
     
    'Pour le bouton Quitter
     
    Private Sub CommandButton3_Click()
     
        Unload Me
     
    End Sub

  17. #17
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Pour la variable, je ne sais pas.
    On ne voit pas le code, ni le fichier... Passe en pas à pas (F8) et regarde la valeur des différentes variables.

    Dans le bout de code que tu mets, que vaut "Ligne" ?
    Dans un autre code, tu écrivais
    Ligne = Me.ComboBox1.ListIndex + 2
    Donc, si tu sélectionnes le premier item (index = 0), Ligne vaudra 2.
    Est-ce bien ce que tu veux ?

  18. #18
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    C'est bon ça m'a permis de résoudre le problème ou le code client ne correspondait pas à la ligne que je voulais

    Si je veux que les éléments "nouveaux contacts" de mon formulaire s'inscrivent dans la première cellule vide qui suit C6 jusqu'à K6, comment dois-je faire?

  19. #19
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Tu dois déterminer quelle est la première ligne vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LaLigne = Cells(rows.count, "C").end(xlup).row + 1
    À partir de là, tu connais la ligne vide, alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("C" & LaLigne) = "La valeur que tu veux donner"

  20. #20
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 2
    Points
    2
    Par défaut
    OK Merci,

    pour aller plus vite moi j'ai ce qui suit ça fonctionne mais me remplit la ligne 5980 alors qu'à partir de C12 c'est vide:
    Quelle erreur ai je fait?

    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
    Private Sub CommandButton1_Click()
     
        Dim L As Integer
     
        If MsgBox("Confirmez-vous l’insertion de ce nouveau contact ?", vbYesNo, "Demande de confirmation d’ajout") = vbYes Then
     
         L = Sheets("Clients").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
     
     
            Range("C" & L).Value = ComboBox4
     
            Range("D" & L).Value = TextBox1
     
            Range("E" & L).Value = TextBox2
     
            Range("F" & L).Value = TextBox3
     
            Range("G" & L).Value = TextBox4
     
            Range("H" & L).Value = ComboBox5
     
            Range("I" & L).Value = TextBox5
     
            Range("J" & L).Value = TextBox7
     
            Range("K" & L).Value = TextBox6
     End If
     
    End Sub
    Et si je veux qu'une fois le nouveau contact enregistré le formulaire redevient vide comment faire?

    J'ai trouvé une astuce, j'ai juste supprimé toutes les lignes entre mon entete et la ligne 5980 ça fonctionne mais maintenant les données suivante change la même cellule au lieu de passer à la ligne suivante

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. erreur d'exécution '2147024809(80070057)
    Par timtof2011 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2012, 20h11
  2. [XL-2007] Erreur d'exécution '-2147024809 (80070057)'
    Par lecter85 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/10/2011, 16h57
  3. [XL-2003] erreur d'execution 2147024809
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/04/2010, 11h30
  4. Réponses: 6
    Dernier message: 21/07/2006, 16h48
  5. erreur d'execution 3704, ...:objet n'est pas ouvert
    Par cari dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/11/2005, 16h44

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