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 :

problemes avec office 2007


Sujet :

Macros et VBA Excel

  1. #1
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour à tous,

    J'avais déjà posé cette question mais je ne m'en sors pas.
    j'ai une procédure qui marche parfaitement avec office 2003 mais qui plante toujours avec of 2007

    à l'évenement click d'une listbox je me retrouve avec le message suivant :
    erreur d'exécution '-2147417848(80010108)'
    la méthode 'range' de l'objet '_worksheet' a échoué
    je n'arrive pas à m'en sortir
    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
    Private Sub REFCHOISIE_Click()
    Dim z
    REFCHOISIE.BoundColumn = 2
    d = Worksheets("references").Range("a2").End(xlDown).Offset(0, 0).Row
    e = Worksheets("categorie").Range("a2").End(xlDown).Offset(0, 0).Row
    f = Worksheets("fournisseurs").Range("a2").End(xlDown).Offset(0, 0).Row
    If d >= e Then
    y = d
    Else
    y = e
    If y < f Then
    y = f
    End If
    End If
    For x = 2 To y
    If REFCHOISIE.Column(0) = Worksheets("categorie").Range("a" & x) Then
    catachanger.ListIndex = x - 2
    Exit For
    End If
    Next x
    For z = 2 To y
    If REFCHOISIE.Column(4) = Worksheets("fournisseurs").Range("a" & z) Then
    ListBoxfournis.ListIndex = z - 2
    Exit For
    End If
    Next z
    designachanger = REFCHOISIE.Column(1)
    puachanger = REFCHOISIE.Column(2)
    SAISIETVAmodif = REFCHOISIE.Column(3)
    TextBoxCOEFF = REFCHOISIE.Column(5)
    TextBoxttc = REFCHOISIE.Column(6)
    TextBoxSTOCK = REFCHOISIE.Column(7)
    End Sub
    Il bloque dès la première ligne mais j'ai l'impression que mon histoire est bizarre.
    en retapant ligne par ligne et en vérifiant au fur et à mesure le programme ne buggait plus sauf arrivé à ce morceau de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For z = 2 To y
    If REFCHOISIE.Column(4) = Worksheets("fournisseurs").Range("a" & z) Then
    ListBoxfournis.ListIndex = z - 2
    Exit For
    End If
    Next z
    là le meme message d'erreur réapparait

    Merci d'avance de vos réponses

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    Aie pas bon ça!

    essaye tjs ça pour voir

    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
    Private Sub REFCHOISIE_Click()
    Dim z
    REFCHOISIE.BoundColumn = 2
    d = Sheets("references").Range("a2").End(xlDown).Offset(0, 0).Row
    e = Sheets("categorie").Range("a2").End(xlDown).Offset(0, 0).Row
    f = Sheets("fournisseurs").Range("a2").End(xlDown).Offset(0, 0).Row
    If d >= e Then
    y = d
    Else
    y = e
    If y < f Then
    y = f
    End If
    End If
    For x = 2 To y
    If REFCHOISIE.Column(0) = Sheets("categorie").Range("a" & x) Then
    catachanger.ListIndex = x - 2
    Exit For
    End If
    Next x
    For z = 2 To y
    If REFCHOISIE.Column(4) = Sheets("fournisseurs").Range("a" & z) Then
    ListBoxfournis.ListIndex = z - 2
    Exit For
    End If
    Next z
    designachanger = REFCHOISIE.Column(1)
    puachanger = REFCHOISIE.Column(2)
    SAISIETVAmodif = REFCHOISIE.Column(3)
    TextBoxCOEFF = REFCHOISIE.Column(5)
    TextBoxttc = REFCHOISIE.Column(6)
    TextBoxSTOCK = REFCHOISIE.Column(7)
    End Sub

  3. #3
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    apparemment ce que tu me propose c'est de changer "worksheet" en sheets
    à l'origine c'était comme ça et le problème était identique mais je vais réessayé quand même

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je viens d'essayer et ça buggue

    Je m'arrache les cheveux

  5. #5
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    j'ai déjà eu ce genre de probleme en fait

    une autre solution serait de référencer ton classeur

    essaye juste de faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    dim wb as Workbook
     
    set wb=activeworkbook
     
    'Remplace 
    d = wb.Sheets("references").Range("a2").End(xlDown).Offset(0, 0).Row

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je viens d'essayer, ç marche au premier click mais au second click j'ai le message
    erreur automation
    l'objet invoqué s'est déconnecté de ses clients

  7. #7
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    tu as cette erreur depuis longtemps?

    si c'est d'aujourd'hui!

    ben essaie betement de redémarrer ton pc!

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    non j'ai cette erreur sur mon PC et sur le portable d'un ami qui a aussi office 2007

    en plus excel s'est fermé et réouvert sur le fichier après avoir cliquer plusieurs fois sur "fin" dans le message d'erreur

    à l'ouverture il m'a remis le meme message d'erreur qu'avant

    je ny comprends rien

  9. #9
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    tu pourrais m'envoyer ce fichier?

  10. #10
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    j'ai soulagé un peu le fichier mais maintenant il me remet le même message quand je clique sur une reference de ma listbox à l'ouverture et ensuite il accepte mes selections
    marche suivie :
    à l'ouverture du fichier un userform apparait => je clique sur "gestion des produits" =>modifier ou supprimer un produit => je tape sur entrée si je veux voir apparaitre tous les produits ou j'entre une lettre quelconque pour filtrer les produits que je veux consulter ensuite, je selectionne en cliquant le produit qui m'interesse et là j'ai droit au message d'erreur, excuses moi encore et merci

  11. #11
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    tu peux essayer comme ça?

    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
     
    Private Sub REFCHOISIE_Click()
    Dim wb As Workbook, sh
     
    Set wb = ActiveWorkbook
     
    'REFCHOISIE.BoundColumn = 2
     
    d = wb.Sheets("references").Range("a2").End(xlDown).Offset(0, 0).Row
    e = wb.Sheets("categorie").Range("a2").End(xlDown).Offset(0, 0).Row
    f = wb.Sheets("fournisseurs").Range("a2").End(xlDown).Offset(0, 0).Row
    If d >= e Then
    y = d
    Else
    y = e
    If y < f Then
    y = f
    End If
    End If
     
    designachanger = REFCHOISIE.Column(1)
    puachanger = REFCHOISIE.Column(2)
    SAISIETVAmodif = REFCHOISIE.Column(3)
    TextBoxCOEFF = REFCHOISIE.Column(5)
    TextBoxttc = REFCHOISIE.Column(6)
    TextBoxSTOCK = REFCHOISIE.Column(7)
     
    End Sub
    peut-tu aussi me dire a quoi sert le bound column dans le code?

  12. #12
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    quand je disais que j'ai soulagé la procédure, c'est parce que j'ai supprimé 2 listbox "catégorie" et "fournisseur" donc les variables d, e, f, y ne servaient plus à rien, je vais réinstaller ces listbox et te tiendrai au courant.

    le boundcolumn, je vais vérifier

    Sympa merci

  13. #13
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    j'ai tout corrigé et réinstallé mes listbox, avec ce que tu m'as corrigé voici la procédure :
    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
    Private Sub REFCHOISIE_Click()
    Dim wb As Workbook, sh
     
    Set wb = ActiveWorkbook
     
    'REFCHOISIE.BoundColumn = 2
     
    d = wb.Sheets("references").Range("a2").End(xlDown).Offset(0, 0).Row
    e = wb.Sheets("categorie").Range("a2").End(xlDown).Offset(0, 0).Row
    f = wb.Sheets("fournisseurs").Range("a2").End(xlDown).Offset(0, 0).Row
    If d >= e Then
    y = d
    Else
    y = e
    If y < f Then
    y = f
    End If
    End If
    For x = 2 To y
    If REFCHOISIE.Column(0) = Sheets("categorie").Range("a" & x) Then
    cat.ListIndex = x - 2
    Exit For
    End If
    Next x
    For x = 2 To y
    If REFCHOISIE.Column(4) = Sheets("fournisseurs").Range("a" & x) Then
    listboxfournis.ListIndex = x - 2
    Exit For
    End If
    Next x
     
    designachanger = REFCHOISIE.Column(1)
    puachanger = REFCHOISIE.Column(2)
    SAISIETVAmodif = REFCHOISIE.Column(3)
    TextBoxCOEFF = REFCHOISIE.Column(5)
    TextBoxttc = REFCHOISIE.Column(6)
    TextBoxSTOCK = REFCHOISIE.Column(7)
     
    End Sub
    Peux-tu me dire à quoi sert le sh à coté de la déclaration de la variable wb ?
    tu avais raison le boundcolumn parait subsidiaire
    as-tu regardé la mauvaise déclaration de mes variables ?

    En tout cas, ça marche, merci (BEAUCOUP) encore

    je vais maintenant explorer les autres problèmes eventuels ou les morceaux de procédures inutiles

  14. #14
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    le sh ne sert à rien, j'vais juste fait quelques test et j'ai oublié de l'enlever


    pour les déclarations, je n'ai pas vraiment eu le temps.
    Ceci dis, ne t'inquietes pas trop mais garde ces conseils en tête.

    Déclare systématiquement tes variables
    pour cela tu peux mettre l'option explicit, qui t'obligera à le faire.

    veille à les déclarer au bon endroit et fait attention à leur portée.

    aussi, force toi à déclarer le type qui prendra le moins de mémoire et donc correspond le mieux à son contenu. Même si ce n'est pas significatif sur de petit projet, cela risque de l'etre plus sur d'autre plus conséquent.
    Sans compter que si tu passe sur un autre language, tu appréciera de dèja bien savoir gerer l'allocatioi des variables.

    Heureux d'avoir pu t'aider.

  15. #15
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    heureux et moi donc non seulement pour mon problème mais pour la solidarité qui rassure de temps en temps (et je sais de quoi je parles, je suis un militant)

    à bientôt peut-être et encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Publipostage avec OFFICE 2007
    Par Christian69 dans le forum Word
    Réponses: 5
    Dernier message: 08/12/2008, 13h17
  2. Publipostage odbc avec office 2007
    Par Falchettu dans le forum Windows XP
    Réponses: 0
    Dernier message: 17/02/2008, 22h52
  3. lenteur .mdb avec office 2007
    Par jpo dans le forum Access
    Réponses: 2
    Dernier message: 29/01/2008, 17h20
  4. probleme avec word 2007!
    Par giantsdz dans le forum Word
    Réponses: 19
    Dernier message: 08/01/2008, 22h56
  5. Les mathématiques avec office 2007
    Par young077 dans le forum Microsoft Office
    Réponses: 2
    Dernier message: 21/08/2007, 01h51

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