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 :

copie ligne en colonne avec passage ligne automatique


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut copie ligne en colonne avec passage ligne automatique
    Bonjour à tous,

    Je souhaiterai copier les chiffres d'affaire de chacune de mes entreprises (une feuille par entreprise) dans une feuille recapitulative contenant les semaines en colonnes et les jours en ligne. Le problème est que je n'arrive pas à dire a Excel de faire le changement de ligne de manière automatique. Je vous met un exemple du fichier en pièce jointe.

    Merci d'avance pour votre aide, j'ai vraiment du mal avec VBA...
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Tu peux utiliser la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(INDIRECT(D$3&"!$B$5:$H$9");EQUIV($B4;INDIRECT(D$3&"!$A$5:$A$30");0);EQUIV(TEXTE($A4;"jjjj");INDIRECT(D$3&"!$B$4:$H$4");0))
    en C4 à recopier vers le bas et à droite. Si tu veux absolument une macro, dis-le.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    Merci pour ta réponse mais ta fonction ne va pas chercher les données dans les feuilles "ENT1", "ENT2" et "ENT3", du coup ça ne marche pas. Je ne veux pas forcément une macro juste une recopie des cellules des feuille des mes entreprises dans les cellules adequates de la feuille "RECAP". Je ne sais pas si c'est possible avec les fonctions Excel. J'ai regardé sur le net mais n'ais rien trouvé.

    En tout cas merci de prendre le temps de répondre et de manière si rapide!

    En fait ta fonction marche mais pas pour toutes les colonnes (dans mon fichier original j'ai plus d'entreprise et cette fonction ne marche pas pour la 3ème et 8ème)..

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Oups, je me suis trompé de formule pour C4 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDEX(INDIRECT(C$3&"!$B$5:$H$9");EQUIV($B4;INDIRECT(C$3&"!$A$5:$A$30");0);EQUIV(TEXTE($A4;"jjjj");INDIRECT(C$3&"!$B$4:$H$4");0))
    J'obtiens pour le mercredi de la semaine 38 :

    100, 101 et 150 pour ENT1, ENT2 et ENT3 respectivement.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    Cela marche parfaitement, j'ai pas tout bien compris le fonctionnement par contre...
    En tout cas un grand merci à toi, moi qui pensait qu'une maccro était obligatoire...

    Je sais pas si c'est normal mais j'ai une erreur de référence à partir de la date du lundi 24 octobre...

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    C'est une simple combinaison INDEX / EQUIV. Je me sers de INDIRECT pour définir les plages à partir des cellules de la ligne 3.

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    Et comment expliques-tu l'erreur de référence à partir de la date du lundi 24 octobre?

    Cordialement

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Et comment expliques-tu l'erreur de référence à partir de la date du lundi 24 octobre?
    Pour mes tests, je n'avais pas pris en compte la totalité de la plage :

    =INDEX(INDIRECT(C$3&"!$B$5:$H$56");EQUIV($B4;INDIRECT(C$3&"!$A$5:$A$56");0);EQUIV(TEXTE($A4;"jjjj");INDIRECT(C$3&"!$B$4:$H$4");0))

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    C'est parfait
    Simple curiosité mais que veux dire le
    C$3&"!$B$5:$H$56"
    ?

    En tout cas un grand merci à toi, j'en pouvais pu de ne pas trouver

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Comme ça, pas grand-chose. Mais si tu le mets dans INDIRECT, ça veut dire :
    plage $B$5:$H$56 de la feuille dont le nom est en C3. Donc :
    INDIRECT(C$3&"!$B$5:$H$56")
    est la même chose que :
    ENT1!$B$5:$H$56
    puisque C3=ENT1

    de même :
    INDIRECT(D$3&"!$B$5:$H$56")
    est la même chose que :
    ENT2!$B$5:$H$56

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Par défaut
    D'accord je comprends bien mieux. En tout cas merci infiniment!

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

Discussions similaires

  1. [XL-2007] Copie ligne userform vers cellule avec passage à ligne automatique
    Par delphin13 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 01/06/2014, 19h08
  2. Tache avec des lignes et colonne
    Par espoireproxy dans le forum SharePoint
    Réponses: 3
    Dernier message: 28/12/2010, 09h18
  3. [XL-2007] Lignes en colonnes avec regroupement selon note
    Par Blondain dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/11/2010, 12h06
  4. Réponses: 2
    Dernier message: 13/01/2009, 22h06
  5. Réponses: 1
    Dernier message: 07/03/2007, 11h58

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