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 :

[Debutant] "Ciblé" des données


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut [Debutant] "Ciblé" des données
    Bonjour, je suis débutant en VBA et j'aimerais pouvoir cibler des données, je m'explique : j'ai un tableau Excel et je voudrais rapporter certaines données de ce tableau vers un autre, et j'aimerais pouvoir cibler ces données par rapport au libéllé par exemple a la colonne C j'aimerais pouvoir prendre tous les numéros de cette colonne seulement je ne vois pas vraiment la fonction a adopter pour réaliser cela, pouvez-vous m'éclairer.
    Merci d'avance.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Pour copier toute la colonne C
    Code a mettre dans le vba de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Me.Columns("C").Copy
    Sheets("Feuil2").Range("A1").Select
    ActiveSheet.Paste
    Jérôme

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Salutations jeune padawan ^^

    Bon voila pour toi, j'espère que c'est ce que tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Sheets("nom de la feuille expéditrice").columns(numéro d indice de la colonne).select  ' Selection de la colonne x (colonne A = 1, colonne B = 2...)
    Selection.Copy  ' Copie des infos de la colonne
     
    Sheets("nom de la feuille destinataire").range("cellule où tu veux coller").Paste  ' coller les infos à partir de la cellule voulue
    J'espère que c'est clair
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  4. #4
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    Bonjour merci de vos réponse voici le code de ma macro :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    Sheets("Résultats Février 2007 CDG2 E&F").Columns("C").Select
    Selection.Copy
    Sheets("Fichier").Range("C").Paste
    Seulement quand j'execute cette macro je recoit l'erreur suivante :
    L'indice n'appartient pas a la selection
    l'erreur se situe sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Résultats Février 2007 CDG2 E&F").Columns("C").Select
    Je ne comprend pas cette erreur.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Es-tu sûr du nom de ta feuille ?

    Car en général cette erreur peut se produire quand un nom est mal orthographié.

    Starec

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Pardonne moi, la faute c'estt moi qui l'ai faite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    Sheets("Résultats Février 2007 CDG2 E&F").Select
    Columns("C").Copy
     
    Sheets("Fichier").Range("C").Paste
    Il a du mal a accepter le fait de selectionner directement la colonne alors que la feuille n'est pas selectionnée.
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  7. #7
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    Alors j'ai réessayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub transfert()
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    Sheets("Résultats Février 2007 CDG2 E&F").Select
    Columns("C").Copy   ' Copie des infos de la colonne
    Sheets("Fichier").Range("C").Paste  ' coller les infos à partir de la cellule voulue
     
     
    End Sub
    Mais il me met tjrs la même erreur et je suis sur que le nom de la feuille est correct je l'ai vérifier plusieurs fois.
    Peut être a t il du mal a accepter les espaces ?
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Oui je pense que les espaces ne sont pas vraiment ce qu'il préfère. Essaies les "_" (under).

    Par contre sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Fichier").Range("C").Paste
    Il faut que tu mette Range("C1") sinon il t'affichera une erreur
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  9. #9
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    J'ai essayer avec un autre fichier s'appellant Classeur2 et il me met la même erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub transfert()
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    Sheets("Classeur2").Select
    Columns("C").Copy  
    Sheets("Fichier").Range("C1").Paste  
     
    End Sub
    Pourtant c'est bien cette commande pour selectionner une feuille.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  10. #10
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Fais en 2 fois comme dans le code que j'ai mis plus haut.
    En un coup sa plante
    Jérôme

  11. #11
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Dis moi où est l'erreur cette fois ci.

    Test seulement les 3 lignes de la fin sans la localisation du fichier, mais en ayant ouvert le fichier auparavant.
    Voir si ca copie d'une feuille à une autre déja.

    Ensuite test le code pour ouvrir tout seul et vois s'il s'ouvre. Une fois que les 2 parties marchent test les 2 ensemble.
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  12. #12
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    Heu je vois pas très bien comment mettre mon code en 2 fois avec l'activeSheet.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  13. #13
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    J'ai essayer les 2 parties séparement la localisation et l'ouverture du fichier marche mais pour la copie de la colonne ca me met toujours la même erreur.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  14. #14
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Fais 2 function.

    Une pour ouvrir et une pour copier, et tu vois où ca marche pas.
    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
     
    Function transfert()
     
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    End Function
     
    Function Copie()              
     
    Sheets("Classeur2").Select
    Columns(3).Copy  
    Sheets("Fichier").Range("C1").Paste  
     
    End Function
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  15. #15
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Et comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    Sheets("Classeur2").Select
    Columns("C").Copy  
    Sheets("Fichier").Range("C1").Select
    ActiveSheet.Paste
    Jérôme

  16. #16
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    Désolé je commence le VBA et je sais pas vraiment ou mettre les fonctions, je doit les mettres dans la macro ?
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  17. #17
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    A chaque fois il met l'erreur 9 et toujours sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Résultats Février 2007 CDG2 E&F").Select
    L'erreur signife : indice en dehors de la plage.
    J'avoue que la je suis perdu.

    Je n'ai pas encore fais les fonction je ne sais pas vraiment comment faire pour les mettre dans excel.
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  18. #18
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Pour intégrer des fonctions c'est pas si compliqué que ca en à l'air.

    Créer un module dans ton projet VBA(Clic droit > Insertion > Module), une fois ceci fais va dedans et tape ce que je t'ai mis. Prends ton fichier de test pour faire cela.

    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
    Function transfert()
     
    ChDir "C:\Documents and Settings\avrilb\Bureau"
    Workbooks.Open Filename:= _
                    "C:\Documents and Settings\avrilb\Bureau\fichier.xls"
     
    End Function
     
    Function Copie()              
     
    Sheets("Résultats_Février_2007_CDG2_E&F").Select
    Columns(3).Copy  
    Sheets("Fichier").Range("C1").Paste  
     
    End Function
    Une fois cela fait tu executes la première fonction et puis la deuxième tout de suite après. Mets les under dans le nom de ta feuille.
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

  19. #19
    Membre habitué Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Points : 134
    Points
    134
    Par défaut
    Alors j'ai mis les 2 fonctions donc il m'execute bien la 1ère mais pour la 2ème cette éternelle erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Classeur2").Select
    Mais je viens de tester quelque chose j'ai créer une petite macro tout simple dans un nouveau fichier excel ou j'ai seulement mis cette seul ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Classeur1").Select
    Et il me met la même erreur donc le problème vient de la fonction Sheets je pense, si jamais vous faites une macro avec pour seul ligne celle ci-dessus avez-vous une erreur?
    Les élèves glandeurs c'est comme le linge, quand il fait beau ca sèche.

  20. #20
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 147
    Points : 103
    Points
    103
    Par défaut
    Essaie alors Worksheets("Feuill2").Select
    OU
    ActiveWorkbook.sheets("Feuill2").Select
    N'oubliez pas de cliquer sur Résolu, une fois la réponse donnée.

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

Discussions similaires

  1. [Debutant] Conception du traitement des données
    Par badack dans le forum JDBC
    Réponses: 6
    Dernier message: 04/01/2007, 15h13
  2. Réponses: 22
    Dernier message: 05/07/2006, 15h21
  3. [Debutant] comment faire passer des donnée ???
    Par cyrill.gremaud dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/01/2006, 22h28

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