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 visual basic 1004


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut Erreur visual basic 1004
    Bonjour à tous

    J'utilise la version office 2007
    J'ai un fichier devis et facture excel avec une bibliothèquz
    Je vous joint le fichier plus tard

    Quand je double clique sur la bibliothèque et je veux
    Modifier ou supprimer une bibliothèque je n'ai que des
    Erreur de débogage 13 et après 1004

    Ça m'énerve

    Merci de m'aider

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    juste ton code, pas le fichier

    en indiquant les lignes qui tombent en erreur

    c'est le minimum syndical, sans garantie que cela suffise


    qu'appelles-tu "bibliothèque" ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Merci Monsieur
    La bibliothèque est pour mettre mes article dans le devis
    Mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(Client) .Cells(Lig - 1, Col - 1). Select
    Cette ligne est surlignée en jaune
    Merci de votre aide

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    il faut montrer la procédure complète, là on ne voit même pas ce que peuvent valoir les variables de cette ligne

    on pourrait pour le moment seulement suspecter des erreurs de conception avec des variables contenant un type non compatible ou une valeur de variable qui provoque une erreur (si Lig = 1 alors tu cherches à sélectionner la cellule située en ligne 0 ....)

    d'ailleurs, tu sélectionnes la cellule (chose déconseillée) .... la feuille est bien visible ?


    met-toi vraiment à la place des gens qui lisent le forum, nous n'avons que tes explications pour comprendre et t'aider. toi tu es plongé dans ton fichier donc ce qui peut te sembler clair, ne l'est pas forcément pour nous.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Merci Monsieur
    Je vais qur mon ordinateur
    Je reviens vous avez raison sur une chose
    Quand je suis sur la ligne il me dit feuile introuvable attendez

    Anony_DF.xlsm

    Voila le fichier il faut aller dans la feuille1 et double cliquer sur le bouton bibliotheque la ou il y a les articles selectrionner par exemple peinture faire modifier
    et la vous voyer les erreurs debogage 13 j ai pu rectifier en mettant VAL et apres bien sur j ai l erreur 1004
    bonne chance et vraiment merci de votre aide

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Navré, mais tu dois copier tes procédures dans ton message et ne pas fournir un fichier "pour qu'on se débrouille"

    Nous n'ouvrons pas les pièces jointes (sauf si on demande explicitement de nous fournir un fichier), surtout les pièces jointes contenant du code (par souci de sécurité)

  7. #7
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Quelles sont les valeurs des variables "Lig" et "Col" au moment du débogage car si une des deux ou les deux ont une valeur de 1, le fait de faire : "Lig - 1" ou "Col - 1" génère forcément une erreur car il n'existe pas de ligne et colonne 0 !

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Bonjour

    helas je ne suis pas du tout douee en vba

    voila deja quand je veux modifier une bibliotheque article j ai erreur debogage 13
    mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton5_Click() 'Modifier
    Dim i%, Col%, NbP%, Lig%, J%
    Dim FF$
    
    FF = "Feuil2"
    Sheets(FF).Activate
    '-------- Initialisation -------
    Col = Cells(2, 9).Value
    NbP = Cells(65536, Col).End(xlUp).Row
    Lig = Label12.Caption
    voila quand je veux supprimer une bibliotheque article j ai erreur debogage 1004

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    '--------------- Suppression Emplacement --------------
    Sheets(Client).Range(Cells(Lig, Col - 1), Cells(NbP, Col + 5)).Cut
    Sheets(Client).Cells(Lig - 1, Col - 1).Select
    ActiveSheet.Paste
    Cells(1, Col - 1).Select
    Application.ScreenUpdating = True
    Call ChargementListBox(Col)
    End Sub
    merci beaucoup a tous de m aider j en ai ras le bol

  9. #9
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Dans mon précédant post je t'ai demandé quelles étaient les valeurs de Lig et Col ? Pour savoir leur valeur, dès que la ligne est surlignée en jaune (débogage), positionnes le curseur au dessus des variables, une infobulle va apparaître avec la valeur correspondante !

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Merci mais je suis nulle c'est marqué en jaune dans mon code

    Merci

    Alors dans l info bulle j ai lig = 0

    je n y comprends plus rien j abandonne

    merci quand meme et je ne comprends pas pourquoi dans ce code il y a marque clients je n ai pas de feuille clients

  11. #11
    Nouveau membre du Club
    Profil pro
    Administration et finances
    Inscrit en
    Mai 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administration et finances
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2012
    Messages : 19
    Points : 29
    Points
    29
    Par défaut
    Bonsoir ArianeFurer69,
    Les informations fournies sont insuffisantes pour connaitre la nature du problème.

    Commencez par mettre un point d'arrêt sur la ligne :
    pour vérifier quelle valeur va prendre la variable Lig à ce niveau.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé pour l'erreur 13
    Je dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lig = Val(Label12.Caption)
    Et pour l'autre code je verrai demain
    Ça m'énerve merci vraiment encore à tous pour votre
    Aide

  13. #13
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour Ariane !

    Suis le fil via cette analogie : imagine dans le futur un lave linge détectant le type de chaque vêtement dans le tambour.
    Tu programmes du blanc à 60° mais dans le linge il y a ta jolie nuisette satinée d'une couleur plutôt foncée
    et ne devant pas être lavée à plus de 30° : ce lave linge du futur affichera une erreur 13,
    en consultant son manuel tu liras pour cette erreur une "incompatibilité de type" du linge …

    En programmation c'est pareil, il ne faut pas mélanger les torchons et les serviettes,
    bien vérifier le type envoyé de donnée par rapport au type attendu de donnée ! Bref, de la logique …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup et j'ai une erreur visual basic
    1004
    J'en ai ras le bol

    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
    FF = "Feuil2"
    Sheets(FF).Activate
    '-------- Initialisation -------
    Col = Cells(2, 9).Value
    NbP = Cells(65536, Col).End(xlUp).Row
    Lig = Val(Label12.Caption)
    '---------- Transfert données vers Bibli ---------
    For i = 1 To NbP
        For J = 0 To 7
            If J >= 3 Then
                Cells(Lig, Col - 1 + J).Value = Controls("TextBox" & J + 2).Value
            Else
                Cells(Lig, Col - 1 + J).Value = Controls("TextBox" & J + 2).Value
            End If
        Next J
    Next i
    Call ChargementListBox(Col)
    End Sub
    
    '=================================================
    Private Sub CommandButton6_Click() 'Supprimer
    Dim F2$, Nom$, Col%, Lig%
    Dim i%, NbP%, X%


    Et voila encore une autre erreur sur la ligne
    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
    '------- Sélection dans la liste ---------
    
    If Lig = -1 Then
        MsgBox "Vous n'avez rien sélectionné: fin de programme", , "Liste Bibli"
        Exit Sub
    End If
    
    '--------------- Suppression Emplacement --------------
    If NbP = Lig Then 'si l'article est en dernière ligne de la bibli
    '    MsgBox Lig: Exit Sub
        Sheets(F2).Range(Cells(Lig, Col - 1), Cells(Lig, Col + 5)).Value = ""
    Else
        Sheets(F2).Range(Cells(Lig + 1, Col - 1), Cells(NbP, Col + 5)).Cut
        Sheets(F2).Cells(Lig, Col - 1).Select
        ActiveSheet.Paste
        Cells(1, Col - 1).Select
    End If
    Application.ScreenUpdating = True
    Call ChargementListBox(Col)
    End Sub
    '=============================================
    MERCI BEAUCOUP POUR VOTRE AIDE A VOUS TOUS

  15. #15
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour Ariane,

    Encore une fois, nous ne pouvons pas faire les choses à ta place.
    Lorsque tu as une erreur, poste le code entre balises, montre-nous la ligne qui est en jaune et, surtout, dis-nous quelles sont les valeurs des différentes variables.

    Par exemple, pour la première erreur de ton dernier message, nous avons besoin de connaître les valeurs de Lig, Col, J et Controls("TextBox" & J + 2).Value.

    Pour afficher ces valeurs, fais en sorte que la fenêtre Exécution soit ouverte dans l'éditeur VBA (Ctrl + G).
    Dans cette fenêtre, tape ?Lig puis Enter
    Ensuite, ?Col puis Enter
    Et ainsi de suite pour toutes les variables et valeurs.

    Encore une chose. Inutile de citer la totalité du message juste précédent dans tes réponses.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Controls("TextBox" & J + 2).Value="bbbbb".
    Code Ton Err : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(0, 11- 1 + 0).Value = Controls("TextBox" & 0 + 2).Value
    Dernière modification par AlainTech ; 23/10/2016 à 11h16.

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(Lig, Col - 1 + J).Value = Controls("TextBox" & J + 2).Value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(F2).Cells(Lig, Col - 1).Select
    Voila est ce que cela vous aide

    merci beaucoup

  18. #18
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par AlainTech Voir le message
    ...et, surtout, dis-nous quelles sont les valeurs des différentes variables.
    ...
    Pour afficher ces valeurs, fais en sorte que la fenêtre Exécution soit ouverte dans l'éditeur VBA (Ctrl + G).
    Dans cette fenêtre, tape ?Lig puis Enter
    Ensuite, ?Col puis Enter
    Et ainsi de suite pour toutes les variables et valeurs.

    Encore une chose. Inutile de citer la totalité du message juste précédent dans tes réponses.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  19. #19
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    le seul point commun dans lequel les deux procédures plantent pour le même motif, c'est la variable Lig et Col.

    Dans la première procédure, Col ne peut pas faire planter puisqu'il est compris entre 3 et 7 ... impossible d'obtenir une colonne inférieure à 1
    Et la valeur de textbox


    Donc je t'invites à commencer ton analyse sur la valeur de Lig, dont la source est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Lig = Val(Label12.Caption)

    D'autant plus que cette ligne de ta seconde procédure renforce mon idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    '------- Sélection dans la liste ---------
     
    If Lig = -1 Then
        MsgBox "Vous n'avez rien sélectionné: fin de programme", , "Liste Bibli"
    tu testes le -1 (aucune ligne de la listbox sélectionnée) ... mais du coup Lig peut valoir 0 si tu sélectionnes le premier élément de ta listbox
    Que vaut ce contrôle "Label" dans ton userform par exemple ?


    Ce qui, au final, me fait comprendre que tes deux Lig des deux procédures ne sont peut être même pas liés à la même source ... pas facile quand on a que deux morceaux de deux procédures ...

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 5
    Points
    5
    Par défaut
    Merci mais je n'ai rien compris j'abandonnes

Discussions similaires

  1. [XL-2007] Erreur Visual Basic
    Par lego35 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/03/2015, 18h01
  2. Réponses: 24
    Dernier message: 13/01/2010, 11h44
  3. message d'erreur en visual basic 2005
    Par yenkolopi dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/10/2008, 15h14
  4. [VBA-E]Excel: RechercheV avec erreur dans visual basic
    Par bonus23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/03/2007, 14h08
  5. Erreur lors de l'ouverture de Visual Basic Editor
    Par snoopy69 dans le forum Access
    Réponses: 8
    Dernier message: 09/05/2006, 11h39

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