Retranscrire d'une ligne sur la feuil1 dans une colonne sur la feuil2
Bonjour à tous,
Je viens vers vous pour un problème...
je joins le fichier pour plus de compréhension.
sur les cellules c2:ab2 de la feuil. j'ai des noms de produits.
Je cherche à les retranscrire dans les cellules b14:b43 de la feuil2.
si je mets un = dans la cellule b14 et que je descends ça ne marche pas.
qu'un peut-il m'aider avec une formule (pas une vba).
merci à vous tous.
ben25.
Bonjour,
En B14 de ta feuil2, essaie:
=DECALER(feuil1!$C$2;;LIGNES($1:1)-1)à recopier vers le bas ... autant que nécessaire
Re-bonjour,
La fonction DECALER est un peu "spéciale", mais souvent bien pratique
Si tu as besoin d'explications (outre ce que tu trouveras dans l'aide et sur le Net), je peux essayer
Re-bonjour,
La fonction DECALER est un peu "spéciale", mais souvent bien pratique
Si tu as besoin d'explications (outre ce que tu trouveras dans l'aide et sur le Net), je peux essayer
si tu as un peu de temps et un peu de patience, je suis demandeur de comprendre ce que je fais pour ne plus devoir le demander
re bjr,
tjrs sur le même sujet mais ça se complique pour moi...
j'ai ajouté une feuille nommé encodage ou j'ai commencé à mettre des produits en b4:b25 (cette liste sera le point de départ des deux autres feuilles (feuil1 & feuil2)
j'aimerais que les produits situer en b4:b25 de la feuille encodage viennent se mettre en c2;d2;e2;f2... de la feuil1. ces mêmes données seront reproduites en b14:b38 de la feuil2.
Ce que cherche donc à faire c'est trouver la formule décaler que je vais pouvoir mettre dans les cellules c2:ab2 de la feuil1 pour reproduire les produits.
j'essaie partir de la formule de la feuil2 qui est =DECALER(feuil1!$C$2;;LIGNES($1:1)-1) mais évidemment ça coince..
qq'un pour m'aider à trouver la formule ?
un tt grand merci à vous..
ben25.
Bon, tu l'auras voulu
DECALER permet de créer une référence à une cellule ou plage de cellules.
La syntaxe complète: DECALER(ref, lignes, colonnes; hauteur; largeur) Les deux derniers arguments sont facultatifs. Ici, comme on ne crée de référence qu'à une cellule, la hauteur de la plage et sa largeur n'ont aucun intérêt.
La formule proposée: =DECALER(feuil1!$C$2;;LIGNES($1:1)-1) va permettre, en B14, de retourner une seule valeur.
J'explique souvent que DECALER fonctionne comme un appareil photo: on "vise" un point de départ, on descend (parfois on remonte) d'un certain nombre de lignes et on décale vers la droite (parfois vers la gauche) d'un certain nombre de colonnes.
L'idée ici est de "viser" C2 (en feuille2), comme point de départ. Dans la première formule, on décale de 0 lignes (le "rien" entre les deux ';;') et de 0 colonnes (on aurait pu taper le zéro soi-même, mais en recopiant vers le bas, on aurait dû ensuite modifier le '0' en '1', puis en '2', etc.). En copiant la cellule vers le bas, on demande donc à Excel de décaler d'une colonne à droite, chaque fois qu'on descend la formule d'une ligne.
Pour éviter de modifier "à la main" le numéro de colonne, on écrit LIGNES($1:1)-1 (qui donne 0). À la ligne suivante, ça deviendra automatiquement LIGNES($1:2)-1 (qui donne 1), puis LIGNES($1:3)-1 et ainsi de suite.
C'est plus clair ?
[Edit:] ceci était la réponse à la question d'il y a une heure ... ne brûlons pas les étapes !
Regarde d'abord si ce qui précède te permet de comprendre et d'adapter à ta nouvelle question
je dois aouver que vous avez des talents de pédagogue et votre explication est assez clair MAIS... je coince juste sur le LIGNES($1:1)-1 ça me semble plus abstrait..
dans mon second exemple, je dois faire l'inverse le tableau qui doit recevoir la formule on doit bien bouger de colonne non?
je parle b2;ab2 de la feuil1
pouvez-vous m'aider ds cette deuxième formule pour que je puisse voir la pièce tombre ds mon cerveau de compréhension ?
Bon, tu l'auras voulu
DECALER permet de créer une référence à une cellule ou plage de cellules.
La syntaxe complète:
DECALER(ref, lignes, colonnes; hauteur; largeur)Les deux derniers arguments sont facultatifs. Ici, comme on ne crée de référence qu'à une cellule, la hauteur de la plage et sa largeur n'ont aucun intérêt.La formule proposée:
=DECALER(feuil1!$C$2;;LIGNES($1:1)-1)va permettre, en B14, de retourner une seule valeur.J'explique souvent que DECALER fonctionne comme un appareil photo: on "vise" un point de départ, on descend (parfois on remonte) d'un certain nombre de lignes et on décale vers la droite (parfois vers la gauche) d'un certain nombre de colonnes.
L'idée ici est de "viser" C2 (en feuille2), comme point de départ. Dans la première formule, on décale de 0 lignes (le "rien" entre les deux ';;') et de 0 colonnes (on aurait pu taper le zéro soi-même, mais en recopiant vers le bas, on aurait dû ensuite modifier le '0' en '1', puis en '2', etc.). En copiant la cellule vers le bas, on demande donc à Excel de décaler d'une colonne à droite, chaque fois qu'on descend la formule d'une ligne.
Pour éviter de modifier "à la main" le numéro de colonne, on écrit
LIGNES($1:1)-1(qui donne 0). À la ligne suivante, ça deviendra automatiquementLIGNES($1:2)-1(qui donne 1), puisLIGNES($1:3)-1et ainsi de suite.C'est plus clair ?
[Edit:] ceci était la réponse à la question d'il y a une heure ... ne brûlons pas les étapes !
Regarde d'abord si ce qui précède te permet de comprendre et d'adapter à ta nouvelle question
Re,
Tu pars d'un exemple où tu transposes d'une ligne vers une colonne ... et puis tu fais l'inverse !?
Tu es certain de ton coup, cette fois-ci ??
En C2 de la feuil1 de ton nouvel exemple, tu pourrais écrire :
=DECALER(encodage!$B$4;COLONNES($A:A)-1;0)... si on veut rester dans l'esprit de ma première proposition.
Maintenant, avec ton nouvel exemple, il faut se poser la question suivante : est-ce que tu risques un jour de trier les données de la feuille "encodage" ?
Par ailleurs, tu vois comment ne pas afficher des '0' lorsque les cellules de la feuille "encodage" sont vides et que la formule est recopiée ?
Si, en Feuil2, tu veux repérer les doublons avec une MFC, il me semble qu'il serait plus logique de le faire dans la feuille "encodage" ?
Un tt grand merci à toi...
Alors..
Tu es certain de ton coup, cette fois-ci ?? oui
=DECALER(encodage!$B$4;COLONNES($A:A)-1;0) c'est fait et ça marche..
mais ds le cas présent pq ($a:a)
Maintenant, avec ton nouvel exemple, il faut se poser la question suivante : est-ce que tu risques un jour de trier les données de la feuille "encodage" ? ça se pourrait pq ?
Par ailleurs, tu vois comment ne pas afficher des '0' lorsque les cellules de la feuille "encodage" sont vides et que la formule est recopiée ? oui ça je vois je passe par la fonction avancée..
Si, en Feuil2, tu veux repérer les doublons avec une MFC, il me semble qu'il serait plus logique de le faire dans la feuille "encodage" ? juste...
par contre j'ai les triagles verts dans chaque cellule je peux faire ignoré l'erreur ?
sur la feuille une va venir des noms, date et quantités et sur la feuille 2 un récapitulatif des produits donnés par personne (je compte faire une menu déroulant avec le nom et de là, j'aurais sur la feuille 2 les produits donnés à cette personne.
vous me suivez ?
en tt cad un grand merci pour votre aide..
ben25
Re,
Tu pars d'un exemple où tu transposes d'une ligne vers une colonne ... et puis tu fais l'inverse !?
Tu es certain de ton coup, cette fois-ci ??
En C2 de la feuil1 de ton nouvel exemple, tu pourrais écrire :
=DECALER(encodage!$B$4;COLONNES($A:A)-1;0)... si on veut rester dans l'esprit de ma première proposition.
Maintenant, avec ton nouvel exemple, il faut se poser la question suivante : est-ce que tu risques un jour de trier les données de la feuille "encodage" ?
Par ailleurs, tu vois comment ne pas afficher des '0' lorsque les cellules de la feuille "encodage" sont vides et que la formule est recopiée ?
Si, en Feuil2, tu veux repérer les doublons avec une MFC, il me semble qu'il serait plus logique de le faire dans la feuille "encodage" ?
Mais parce qu'on fait l'inverse de ce que tu demandais au départ: cette fois, la formule doit être copiée à droite et c'est à chaque changement de colonne en Feuil1 qu'il faut descendre d'une ligne dans la feuille encodagemais ds le cas présent pq ($a:a)
La question du tri, c'est parce qu'en feuil2 tu pourrais simplement écrire, en B14 :
=encodage!B4... et tirer la formule vers le bas
Maintenant, quelle que soit la formule, si tu inscris des infos dans les autres colonnes, en feuille encodage (pour tes sardines, par exemple) et si, en feuil2, à côté des sardines, tu inscris autre chose, au moment où tu tries dans ta feuille encodage, les données de la feuille encodage vont rester cohérentes (en tout cas si tu es prudent et que tu travailles correctement) MAIS, la colonne B va se trier automatiquement en Feuil2 et les données des autres colonnes ne changeront pas de place !! Ce que tu avais renseigné pour les sardines en feuil2 se trouvera peut-être à hauteur des pois chiches (et là, tu es mal !)
Je laisse de côté les autres questions, sinon on ne va plus s'y retrouver !
merci à toi pour ton aide... j'y vais par étape tt en étant attentif à ce qui m'en proposé pour m'aider...
sur toutes les données sur les feuilles encodages et feuil1 seront encodées une fois pour toute et ne changeront que pour l'année suivante. je construis le fichier pas à pas et essayant de faire au mieux et en sachant que je vais avoir besoin d'aide mais j'essaie d'abord..et puis en cas ou ça coince, je viens chercher de l'aide et parfois des personnes comme vous on la gentillesse de répondre et je vous en remercie.
je continue de plancher sur mon projet et je reviens..
d'ici là, je vous fous un peu la paix..
bien à vous
ben25
Mais parce qu'on fait l'inverse de ce que tu demandais au départ: cette fois, la formule doit être copiée à droite et c'est à chaque changement de colonne en Feuil1 qu'il faut descendre d'une ligne dans la feuille encodagemais ds le cas présent pq ($a:a)
La question du tri, c'est parce qu'en feuil2 tu pourrais simplement écrire, en B14 :
=encodage!B4... et tirer la formule vers le bas
Maintenant, quelle que soit la formule, si tu inscris des infos dans les autres colonnes, en feuille encodage (pour tes sardines, par exemple) et si, en feuil2, à côté des sardines, tu inscris autre chose, au moment où tu tries dans ta feuille encodage, les données de la feuille encodage vont rester cohérentes (en tout cas si tu es prudent et que tu travailles correctement) MAIS, la colonne B va se trier automatiquement en Feuil2 et les données des autres colonnes ne changeront pas de place !! Ce que tu avais renseigné pour les sardines en feuil2 se trouvera peut-être à hauteur des pois chiches (et là, tu es mal !)
Je laisse de côté les autres questions, sinon on ne va plus s'y retrouver !