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 :

Copié des données dans une feuille vers une autre


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Copié des données dans une feuille vers une autre
    Bonjour

    je suis débutant dans le VBA et j'ai des difficultés à debugger mon programme

    But:
    mon fichier s'appelle Bcourbe.xls
    J'ai 400 valeurs dans une feuille GrapheB en colonne et je veux faire une boule pour prendre la valeur dans une cellule x (x variant de 6 à 406) de la colonne H
    La copié dans une autre feuille Donnée dans la cellule (AL2) puis récupéré une valeur correspondante à la cellule (AL5) et la copié dans la feuille GrapheB dans la colonne I à la ligne x


    j'ai fait ce programme avec une boucle mais il me marque une erreur 9 l'indice n'appartient pas à la sélection.(ligne 6)
    je ne comprends pas comment résoudre ce problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub prog()
    Dim x As Integer
    Dim NI As Variant
    Dim e As Variant
    For x = 0 To 400
    NI = Workbooks("Bcourbe").Sheet("GrapheB").Cells(x + 6, H).Value
    Donnee.Cells(2, AL) = "NI"
    e = Workbooks("Bcourbe").Sheet("Donnee").Range("AL5").Value
    GrapheB.Cells(x + 6, i) = "effort" & x
    Next x
    End Sub
    je vous en remercie guillaume

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    La colonne dans Cells(Ligne, Colonne) peut être définie soit par son index (A = 1, B = 2, C = 3, etc...) soit par sa lettre mais dans ce cas elle doit être mise entre guillemets
    A corriger également pour les colonnes AL et I

    D'autre part je crains que ça va coincer sur cette ligne aussi
    Que représente Donnee ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Toujours la même erreur
    l'erreur est toujours la sur les la ligne NI et e

    merci pour la correction précédente

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Je n'avais pas vu ton "Sheet", il doit s'écrire avec un "s" à la fin --> Sheets
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    les deux lignes ci-dessous me marque toujours la même erreur "l'indice n appartient pas à la sélection"
    Quand je rajoute le s à la fin ça change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NI = Workbooks("Bcourbe").Sheets("GrapheB").Cells(x + 6, "H").Value
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e = Workbooks("Bcourbe").Sheets("Donnee").Range("AL5").Value

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Tu es certain de l'orthographe des noms de classeur et de feuilles ?
    Le classeur "Bcourbe" est bien ouvert ?
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    normalement oui j'ai ouvert VBA à partir de mon fichier excel Bcourbe.xls qui comporte plusieurs feuille GrapheB et Donnee
    c'est pour ça je ne comprends pas

    j'avais oublié le .xls et ça fonctionne même si dans e il me met des valeurs incohérente je dois peut être mettre une temporisation je sais pas
    car je dois avoir des valeurs de la centaine et j'ai du mille milliard impossible

  8. #8
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Citation Envoyé par guillaumepops Voir le message
    j'avais oublié le .xls
    j'aurais du le voir aussi...je dois être fatigué

    Si ton code fait référence au classeur qui le contient, tu n'es pas obligé de le préciser, tu peux directement faire référence aux feuilles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NI = Sheets("GrapheB").Cells(x + 6, "H").Value
    On va reprendre depuis le début...

    Citation Envoyé par guillaumepops Voir le message
    J'ai 400 valeurs dans une feuille GrapheB en colonne et je veux faire une boule pour prendre la valeur dans une cellule x (x variant de 6 à 406) de la colonne H
    La copié dans une autre feuille Donnée dans la cellule (AL2) puis récupéré une valeur correspondante à la cellule (AL5) et la copié dans la feuille GrapheB dans la colonne I à la ligne x
    Essaie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub prog()
    Dim x As Integer
     
    For x = 6 To 406
        Sheets("Donnee").Range("AL2") = Sheets("GrapheB").Range("H" & x)
        Sheets("GrapheB").Range("I" & x) = Sheets("Donnee").Range("AL5")
    Next
     
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    en faite tout fonctionne correctement
    mais quand j'enregistre ma donnée NI qui peut etre avec une virgule du style 1,23 ETC
    Quand je la renvois sous excel il me marque un chiffre comme 123 ou 1230 etc

Discussions similaires

  1. [XL-2003] Récupérer des données de plusieurs feuilles vers une seule
    Par ikobana dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/12/2014, 21h15
  2. Transférer des données d'un formulaire vers une feuille de données
    Par kirsie dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/04/2013, 20h45
  3. Importer des données de 250 feuilles vers une seule
    Par Bryan78 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/04/2008, 16h18
  4. Récuperer des données de fichier pdf vers une feuille xls
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/08/2007, 14h03
  5. Réponses: 9
    Dernier message: 04/04/2007, 11h16

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