J’ai besoin d’aide concernant la les transposé de donnée d’une feuille sur une autre et de la création d’une macro pour un inventaire.
J’ai un un inventaire qui se présente sous la forme suivante sur la feuille 1:
01/01/2001 02/01/2001 03/01/2001
A 1 2 3
B 5 4 6
C 2 2 2
Je souhaiterais que sur la feuille 2 que ca se présente comme cela :
Produit A
01/01/2001 1
02/01/2001 2
03/01/2001 3
Produit B
01/01/2001 5
02/01/2001 4
03/01/2001 6
C’est une presque une transposition des données de la feuille 1 sur la feuille 2, avec une présentation différentes des données de la feuille 1.
je sais que manuellement il faut taper =‘feuille1’!C2 mais j’ai 125 produits sur 52 semaines et surtout si j’utilise le petit carré pour faire automatiquement il ne me fait pas ca correctement. il me fait :
=‘feuille1’!C2
=‘feuille1’!C3
=‘feuille1’!C4
or je voudrais plutôt: j’ai essayé de mettre =‘feuille1’!C$2 mais ca ne marche pas
=‘feuille1’!C2
=‘feuille1’!D2
=‘feuille1’!E2
que dois-je faire ?
mon deuxième problème est sur la feuille 3, je souhaiterais avoir un menu de sélection déroulant genre:
Produit --selectionner–
A
B
C
et que quand je clique sur A, il m’affiche :
Produit A
01/01/2001 1
02/01/2001 2
03/01/2001 3
Sub transpose_dans_tableau()
Sheets("Feuille1").Select
Range("C2:P2").Select
Selection.Copy
Sheets("Feuille2").Select
// LA JE SAIS PAS COMMENT LUI DIRE DE FAIRE UNE TRANSPOSE EN GARDANT LES FORMULES POUR QUE JE TROUVE SU LA FEUILLES 2 ='feuille1'!C2 ET PAS LES VALEURS
End Sub
Je suppose que dans ton exemple il y a une cellule vide en haut à gauche de ton tableau, et que la première date correspond en fait à la première colonne de chiffres ?
Pour conserver tes relations sous forme de formule, il faudrait que tu fasses un collage avec liaison, mais ce n’est pas compatible avec le collage transposé.
Il te reste donc le vba, mais comme ce n’est pas une véritable transposition, tu n’as pas trop le choix, il faut le faire cellule par cellule, en explorant les données à l’aide de boucles imbriquées
Pour chaque valeur (non vide) de la colonne A
écrire la valeur
pour chaque colonne (non vide) de la ligne
– ecrire la valeur ligne 1
– ecrire la valeur ligne active
Pour ce qui est de ton autre problème, je ne sais pas ce que tu veux faire exactement, mais si c’est une simple visualisation un userform serait peut être plus adapté qu’une nouvelle feuille de calcul
Pour aboutir au résultat que tu indiques en feuille3, la passage par la “transposition” en feuille2 n’était pas nécessaire (mais -avec ce que j’ai compris- je me suis dit que tu en avais peut-être besoin pour autre chose). Comme tu parlais de macro (en précisant que tu ne t’y connaissais pas énormément), j’ai travaillé par formules en feuille2.
Pour comprendre, il faut savoir qu’il y a trois plages nommées: “Produits”, “Semaines” et “Données”. Sous XL2003, regarde dans “Insertion” > “Nom” > “Définir” à quoi fait référence chacune des plages. En feuille2, les formules sont différentes en colonne A et colonne B. Elles commencent en ligne 4 et je ne les ai recopiées que jusqu’en ligne 99 (pour ne pas alourdir le fichier)
En B2 de la feuille3, une liste déroulante créée avec “Données” > “Validation”. Là aussi, des formules différentes en colonne A et B, recopiées jusqu’en ligne 15.