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

Excel Discussion :

Copier une cellule d'une ligne sélectionnée puis la coller dans une autre feuille Excel


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 31
    Points : 16
    Points
    16
    Par défaut Copier une cellule d'une ligne sélectionnée puis la coller dans une autre feuille Excel
    Bonjour,

    Je souhaite faire en sorte que lorsque l'on rempli une ligne d'un tableau de suivi, les données remplies soient copiées collées sur le rapport d'expertise d'une autre feuille Excel.
    Pour cela, j'ai commencé à écrire :
    sheets("feuille suivi").Range(cellule à copier).Copy Destination:=Sheets (rapport d'expertise).Range(cellule où coller)
    Cette formule fonctionne mais elle copie seulement une cellule déterminée. Alors que moi, je voudrais faire en sorte que lorsque l'on séléctionne une ligne du tableau, on appui sur un bouton et les données de cette ligne remplissent le rapport d'expertise. J'ai alors pensé à remplacer Range(cellule à copier) par la formule qui va bien pour dire " copier la cellule sélectionnée de la colonne machin " mais je n'arrive pas à trouver cette formule pour que cette macro fonctionne.
    Pouvez-vous m'aider ?

    Cordialement,

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Je ne comprends pas trop comment sont organisées les données dans ta feuille de destination mais tu as plusieurs solutions.

    Si tes données sont regroupées de la même façon dans ta destination que dans ta source, tu peux simplement indiquer une zone (de type "A1:A10") dans le Range de ta formule.

    Si les données sont dispersées dans ta zone de destination, tu peux multiplier les lignes en copiant ta formule avec des références de cellules différentes à chaque fois.

    Cela dit, si tu veux transférer uniquement les valeurs, il est plus simple d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets (rapport d'expertise).Range(cellule où coller) = sheets("feuille suivi").Range(cellule à copier)
    Ta formule a l'avantage de copier aussi le format.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Ce n'est pas vraiment ce que je voulais... :/
    En faite, j'ai créé un rapport d'expertise avec plusieurs blancs à remplir ( j'ai utilisé le mode Mise en page dans affichage ) puis j'ai créé sur une autre feuille Excel un tableau avec en tête de colonne les éléments présents sur le rapport d'expertise. En faite le tableau est juste une autre forme du rapport d'expertise, c'est pour qu'avec une seule ligne du tableau, je puisse remplir le rapport d'expertise automatiquement grace aux macro.

    C'est pour cela que je voudrais savoir comment écrire "copier la cellule selectionner de la colonne machin" sachant que toute une ligne du tableau sera sélectionnée.

    Ce qui me permettrai de pouvoir remplir plusieurs lignes du tableau et donc pouvoir en selectionner une afin d'avoir grâce à VBA le rapport d'expertise correspondant à cette ligne.

    J'espère être claire, c'est pas évident ..

  4. #4
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Il suffit de commencer par enregistrer le numéro de ligne en début de macro en le mettant dans une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaVariable = Selection.Row
    Et ensuite d'utiliser cette variable comme une valeur dans les références de cellules source avec les méthode que je t'ai donné auparavant.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Je ne comprend pas trop comment utiliser cette variable ..

    J'ai essayé :

    Dim MaVariable as Variant

    MaVariable =Selection.Row
    Sheets ("rapport").range("cellule où coller") = Sheets("feuille suivie").Columns(2 par exemple).Range("MaVariable")

    Mais évidemment ce n'est pas ça, je ne sais pas comment utilisé MaVariable

  6. #6
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par weserlide Voir le message
    Dim MaVariable as Variant
    Il faut essayer de n'utilise Variant que dans deux cas :
    - quand le type de la variable en question peut varier au cours de l'exécution de la macro
    - quand on utilise une variable pour récupérer une valeur provenant d'une fonction qui peut renvoyer différents type de données

    Comme le précise l'aide VBA d'Excel, la propriété Row renvoie une variable de type Long.

    On écrira donc plutôt :
    Sheets ("rapport").range("cellule où coller") = Sheets("feuille suivie").Columns(2 par exemple).Range("MaVariable")
    En suposant que ta donnée source est en colonne E (5è colonne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets ("rapport").range("cellule où coller") = Sheets("feuille suivie").Cells(MaVariable,5)
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets ("rapport").range("cellule où coller") = Sheets("feuille suivie").Range("E"&MaVariable)
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 31
    Points : 16
    Points
    16
    Par défaut
    Je vous remercie !! Celà fonctionne niquel !!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/09/2011, 11h04
  2. Réponses: 8
    Dernier message: 11/12/2008, 19h10
  3. Réponses: 2
    Dernier message: 05/07/2008, 09h54
  4. Réponses: 12
    Dernier message: 14/05/2008, 17h15
  5. Réponses: 2
    Dernier message: 12/02/2008, 17h08

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