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 :

Copier une plage de cellules sur un emplacement variable [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut Copier une plage de cellules sur un emplacement variable
    Bonjour à tous,

    Je souhaiterais faire une macro qui remplisse un tableau automatiquement à partir d'un onglet de saisie.
    Je vois comment faire le début de macro : selection puis copie mais c’est après que je n’y arrive plus car il faut coller les valeurs au bon endroit (ligne du produit concerné et mois/année), endroit qui va changer selon les cas
    Et c’est là que je ne sais pas faire en temps normal j’aurais fais un INDEX EQUIV pour trouver mais ca ne doit pas marcher

    J’imagine que c’est très simple mais bon ...

    Merci beaucoup,

    Nicolas

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Salut,

    Ca va dépendre de l'organisation de tes données.
    Disons que pour écrire une donnée dans une cellule, il faut
    déterminer la ligne(produit) et la colonne(mois/année)
    et là tu peux utiliser la méthode Range.Find pour trouver
    la ligne du produit et la colonne du mois/année

    Cordialement,

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,
    pour apporter un précision à ce qu'a dit Philippe, le copier collé, dans bon nombre de cas ne pas obligatoire!

    si tu copie des formule d'un classeur vers un autre, si tu ne gère pas les directive du collé tu risque d’établir un lien entre les 2 classeur!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    range("A1")=10 'va placer la valeur 10 dans A1 sens copier collé!
     
    range("A1").Resize(10,5)=tableau 'vas écrire ton tableau de 10 ligne et de 5 colonne sens copier collé!

  4. #4
    Membre habitué
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut
    Bonjour,

    Merci beaucoup c'est tout à fait ça

    Je cherche à copier des chiffres (et non des formules donc pas de risque) saisis sur une plage (ex: G9:R9 pour 12 mois)
    dans un autre onglet en fonction d'un produit (surement en H9) et d'une année (surement G3) et d'un mois (surement G4) qui pourront changer


    J'imagine qu'il suffit de déterminer une seule cellule cible comme pour un collage classique dont les coordonnées seront effectivement :
    -numéro de ligne = produit
    -colonne = mois + année

    Par contre de ce que je vois pour Range.Find le premier objet What est fixe donc je suis un peu perdu sur la syntaxe car dans mon cas il est variable et déterminé par les 3 paramètres cités ci-dessus

    L'objectif final étant d'historiser les chiffres saisis en balayant les produits 1 par 1

  5. #5
    Invité
    Invité(e)
    Par défaut
    Tu parle d'histoiriser ? Si tu veux rajouter en fin d'onglets et pas modifier l'existant tu as le filtre élaboré!

    http://philippetulliez.developpez.co...dvancedfilter/

  6. #6
    Membre habitué
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Par défaut
    Je ne connaissais pas cette fonction très sympa et j'imagine qu'on peut mettre un INDEX EQUIV dans la cible mais on ne peut pas définir de cible pour la copie dans un autre onglet et si on veut le faire pour différentes plages il faut retaper la plage à chaque fois (voire la formule ?)
    je pense plutôt à un bouton avec macro par ligne à copier qui viendra remplir l'autre onglet soit les cellules étant soit en écrasant les chiffres précédents
    la difficulté étant de copier à des endroits variables en fonction des critères

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

Discussions similaires

  1. Copier une plage de cellule
    Par beebe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/06/2008, 17h47
  2. faire une copie d'une plage de cellules sur x feuilles
    Par La Zélie dans le forum Excel
    Réponses: 4
    Dernier message: 11/06/2008, 08h55
  3. Copier une plage de cellules dans un fichier fermé
    Par COCONUT2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/07/2007, 17h23
  4. [VBA-E] Copier une plage de cellules avec critère
    Par jfamiens dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/06/2006, 16h34
  5. [VBA] Copier une plage de cellules dans un fichier fermé
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52

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