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 dans une ligne de code que je ne sais pas corriger [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut Erreur dans une ligne de code que je ne sais pas corriger
    Bonjour,
    je débute dans la "programmation" excel VBA .J'ai déjà réalisé quelques petites applications pour mon usage personnel et là je bute...
    J'ai récupéré sur une copie d'écran une ligne de code correspondant à un besoin mais cela ne fonctionne pas et je ne sais pas corriger l'erreur...
    Voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Selection.Insert Shift:"xlDown, CopyOrigin:"xlFormatFromLeftOrAbove
    Les deux caractères " sont probablement responsables ....
    Merci d'avance de votre aide
    Philippe

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    je poursuis mes tentatives et je viens d'essayer cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ...mais alors j'obtiens ce message d'erreur :


    La méthode Insert de la classe Range a échoué
    Il semblerait donc que le problème "d'orthographe" soit résolu mais qu'il en subsiste un autre....
    J'espère que cela va inspirer quelqu'un...
    Merci

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Voici le sous programme complet...
    Je cherche à recopier une ligne sur la ligne d'en dessous pour libérer la ligne initiale...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    Rows("2:2").Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
     
    End Sub

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bon...
    je ne pige toujours pas mais le problème ne vient pas du code....puisque je l'ai testé sur une feuille vierge et il fonctionne parfaitement!!!!.
    Alors, qu'est ce qui en empêche le bon fonctionnement sur mon fichier de travail???? ...et je crains que personne ne puisse à distance en trouver la raison...
    Je vais continuer à chercher...

  5. #5
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonjour Philippe,
    Essayes ceci, c'est déjà plus simple et cela évite l'utilisation de .Select qui est déconseillé par certains membres du forum.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sinon que veux-tu réaliser exactement?
    Eric

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Bonjour Eric,
    je viens de tester ta proposition et cela a les mêmes effets que la mienne, même message d'erreur....
    Comme je l'ai dit plus haut, je cherche à rentrer à l'aide d'un formulaires, des données concernant de nouveaux adhérents pour un club. Je cherche donc à libérer la première ligne de mon tableau en décalant toutes les entrées d'une ligne vers le bas de sorte qu'elle soit tout le temps disponible pour entrer les données d'un adhérent supplémentaire ( je fais un tri par la suite).
    Je vais recommencer mon tableau depuis le début afin d'identifier ce qui fait blocage.
    Merci en tout cas de ta réponse!!

  7. #7
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonjour Philippe,
    J'ai testé le code sur ma version Excel et cela fonctionne, j'utilise Excel2010 peut-être as-tu une version antérieure?
    Tu pourrais essayer d'enregistrer une macro en réalisant l'action d’insérer une ligne sur ta version Excel et regarder comment est le code généré automatiquement, tu pourras ensuite comprendre le code et l’insérer dans ta macro.
    Eric

  8. #8
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Et en utilisant l'IHM (= à la main) tu parviens à insérer une ligne dans la feuille ?

    Cordialement,

    PGZ

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    pour moi aussi mon code fonctionne, mais dans une feuille vierge, autre que celle sur laquelle je travaille!! C'est ce qui rend le problème assez mystérieux!!...et oui j'ai une version antérieure....2003
    PGZ: je le pige pas ce que tu veux dire par l'IHM....

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par phlg77 Voir le message
    ...t cela a les mêmes effets que la mienne, même message d'erreur....
    ..
    Bonjour,
    tu aurais donc lu le message d'erreur ? mais je ne vois pas ou tu as reporté ce que tu as lu ?

  11. #11
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Dans mon deuxième message....il est vrai que j'aurais dû l'isoler. ... :-)

  12. #12
    Membre éprouvé
    Avatar de eric4459
    Homme Profil pro
    Ingénieur Gestion de Projets
    Inscrit en
    Avril 2014
    Messages
    605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Gestion de Projets
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2014
    Messages : 605
    Points : 1 124
    Points
    1 124
    Par défaut
    Bonsoir,
    IHM signifie Interface Homme Machine, Pgz doit faire allusion à l'enregistreur de macros.
    Donc tu devrais essayer d'enregistrer une macro en réalisant l'action que tu souhaites puis regarder le code que l'enregistreur a généré en sélectionnant la macro puis en cliquant sur Modifier.
    Je vais enregistrer un fichier exemple sous excel 2003 demain et te l'enverrai.
    Sinon il y un tutoriel vraiment très bien fait sur le Vba réalisé par un membre du forum qui pourra t'aider dans beaucoup de situations, voici le lien :

    http://silkyroad.developpez.com/

    Eric

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    alors, c'est une chose que j'ai faite....mais comme je le disais, le problème ne vient pas du code mais très probablement de quelque chose dans mon fichier excel hors VBA.qui gêne d'une manière ou d'une autre....sinon, pourquoi une ligne de code fonctionnerait-elle dans une feuille (ébauche très sommaire de la deuxième) et pas dans une autre, celle sur laquelle je travaille??
    Je vais continuer à chercher et je finirai bien par trouver!!
    en tout cas, merci à tous pour votre intérêt!! :-)

  14. #14
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et donc tu as enregistré à nouveau une macro effectuant l'insertion de la ligne et tu n'as pas eu de problème ?

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonsoir à tous,

    Et si tu essayais tout simplement
    Une recommandation toutefois, il est toujours utile de préciser sur quelle feuille s'effectuent les modifications ...

    Edit :
    Ta feuille est-elle protégée ?

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    alors....
    bbil : exactement, cette macro fonctionne parfaitement, mais pas dans ma feuille !! :-)
    Hop : j'essaierai demain....et non la feuille n'est pas protégée, pour l'instant

  17. #17
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par phlg77 Voir le message
    ...
    bbil : exactement, cette macro fonctionne parfaitement, mais pas dans ma feuille !! :-)
    ...
    c'est pas la question : as tu essayé à nouveau d'enregistrer une nouvelle macro ?

  18. #18
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    ce n'est peut-être pas la question, mais c'est ma réponse....oui, j'ai essayé plusieurs fois d'enregistrer une nouvelle macro, et de plusieurs façons différentes...et le résultat est le même....ça fonctionne dans un cas et pas dans l'autre....

  19. #19
    Nouveau Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    bon....je vous tiens au courant mais le mystère n'est pas éclairci....
    Comme je l'avais dit, j'ai tout recommencé depuis le début en commençant par cette fameuse macro et en faisant pratiquement à chaque étape de la construction de ma feuille une vérification de son bon fonctionnement.
    Et bien tout fonctionne...ce qui prouve bien que le problème ne venait pas du code mais ,je le suppose, d'un souci avec la mise en forme de la feuille ou quelque chose du même genre....mais que je n'ai pas identifié..
    Tout est bien qui finit presque bien :-)
    Merci à tous en tout cas pour votre attention et vos conseils
    Philippe

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

Discussions similaires

  1. Erreur dans une ligne de code VBA
    Par chpierro62 dans le forum Général VBA
    Réponses: 1
    Dernier message: 13/01/2012, 22h41
  2. Comment joindre dans une ligne de code
    Par egg3774 dans le forum VBA Access
    Réponses: 4
    Dernier message: 25/01/2008, 15h35
  3. erreur d'éxecution dans une ligne de code
    Par orlacit dans le forum VBA Access
    Réponses: 9
    Dernier message: 16/11/2007, 10h58
  4. Bug dans une ligne de code VBA
    Par orlacit dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2007, 15h25
  5. Réponses: 5
    Dernier message: 02/09/2006, 15h10

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