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 :

rechercher dans une ligne et copier la colonne dans un autre document


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut rechercher dans une ligne et copier la colonne dans un autre document
    Bonjour,

    j'aimerai faire une recherche dans une ligne lorsque le nom correspond à celui rechercher j'aimerai copier la colonne du tableau sur 15 lignes
    je pense avoir une partie du code mais le comprend pas comment copier la colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     For Each celle In .[B408:I408]
                   If celle.Value = Choix Then
                    ???     .Copy Sh.[A217]
                     End If
                Next

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne sais pas où tu as récupéré ce code mais il semble plutôt... étrange.

    Déjà, pour commencer par réparer la syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each celle In Range[B408:I408]
         If celle.Value = Choix Then
              celle.Copy
              Col = celle.Column
              Range((celle.Row, celle.Column),(celle.Row, celle.Column+15)).PasteSpecial(xlPasteAll)
         End If
    Next celle

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut
    merci par contre ça me donne une erreur à la compilation!

    avec ce code comment puis-je copier la colonne sur ma feuille Sh en A218?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par myayo001 Voir le message
    merci par contre ça me donne une erreur à la compilation!
    Comme ça, ça devrait aller mieux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(celle.Row+1, celle.Column),Cells(celle.Row+15, celle.Column)).PasteSpecial(xlPasteAll)
    Citation Envoyé par myayo001 Voir le message
    avec ce code comment puis-je copier la colonne sur ma feuille Sh en A218?
    Pour copier sur une autre feuille, il suffit de précéder le Range de la ligne contenant le PasteSpecial du nom de la feuille avec un Worksheets(Sh) (sans oublier de séparer par un point).

    Pour placer la copie sur l'autre feuille, il suffit de modifier le contenu du Range.
    Il contient deux objets Cells. Chacun donne les limites de la zone où copier les cellules sources.
    Chaque objets Cells contient deux éléments : un numéro de ligne et un numéro de colonne.

    Dans le code que j'ai donné, le numéro de colonne est celui de la cellule source : celle.Column
    Le numéro de ligne est celui de la cellule source (celle.Row) en ajoutant +1 (pour le début de la zone) ou +15 (pour la fin de la zone).
    Si tu veux les placer ailleurs dans ta feuille cible, il faut modifier ces valeurs.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 38
    Par défaut
    désolé mais je débute en vba
    ça devrait ressembler à quelque chose comme ça ou je me plante complètement?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         Worksheets(Sh).Cells(218, 2).Range(Cells(celle.Row + 1, celle.Column), Cells(celle.Row + 15, celle.Column)).PasteSpecial (xlPasteAll)

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Si ton onglet destination s'appelle "Sh" et s'il se trouve dans le même fichier que ta source, ça devrait s'appeler comme ça.

    Pour ce qui est du contenu des deux Cells, ça dépend des positions des cellules dans lesquelles tu veux copier tes données.

Discussions similaires

  1. rechercher une date et copier la colonne dans un autre onglet
    Par jd69001 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/02/2012, 20h09
  2. Selectionner des colonnes dans une ligne pour le copier
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/05/2009, 17h00
  3. Réponses: 8
    Dernier message: 17/03/2008, 20h44
  4. Réponses: 1
    Dernier message: 06/10/2007, 14h59
  5. Regrouper des colonnes dans une ligne
    Par aturlan dans le forum Access
    Réponses: 1
    Dernier message: 11/01/2006, 21h05

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