Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2011, 10h03   #1
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
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
Type de fichier : xls exemple.xls (121,0 Ko, 3 affichages)
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 10h31   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Tu peux utiliser la formule :

Code :
=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.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/10/2011, 10h44   #3
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
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)..
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 10h50   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Oups, je me suis trompé de formule pour C4 :

Code :
=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.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 25/10/2011, 10h57   #5
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
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...
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 10h59   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
C'est une simple combinaison INDEX / EQUIV. Je me sers de INDIRECT pour définir les plages à partir des cellules de la ligne 3.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h06   #7
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
Et comment expliques-tu l'erreur de référence à partir de la date du lundi 24 octobre?

Cordialement
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h10   #8
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
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))
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h14   #9
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
C'est parfait
Simple curiosité mais que veux dire le
Citation:
C$3&"!$B$5:$H$56"
?

En tout cas un grand merci à toi, j'en pouvais pu de ne pas trouver
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 11h47   #10
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
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
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 10h37   #11
Invité de passage
 
Inscription : avril 2011
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 49
Points : 4
Points : 4
D'accord je comprends bien mieux. En tout cas merci infiniment!
John Parker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h12.


 
 
 
 
Partenaires

Hébergement Web