Reporter une ligne dans une autre feuille en fonction du contenu d'une cellule

MarionT

XLDnaute Nouveau
Bonjour,

Je suis débutante en Excel et je n'ai pas trouvé la réponse à ma question... je n'ai peut-être pas assez cherché, désolée, mais je ne vois pas !

J'ai un onglet avec 3 colonnes.
Je souhaite reporter chacune des lignes dans l'onglet 2, 3 ou 4 en fonction du contenu de la 1ère cellule.
Si A1 = A, alors reporter A1, B1 et C1 dans l'onglet 2
Si A1 = ?, alors reporter A1, B1 et C1 dans l'onglet 3
Si A1 = D, alors reporter A1, B1 et C1 dans l'onglet 4

Je souhaite pouvoir mettre à jour ma liste dans l'onglet 1, et que les 3 listes différentes se mettent à jour automatiquement dans les 3 autres onglets.

Merci d'avance pour votre aide !
 

Dugenou

XLDnaute Barbatruc
Re : Reporter une ligne dans une autre feuille en fonction du contenu d'une cellule

Bonjour,
Voici la version 2 optimisée.

Dans les deux colonnes tu as une liste déroulante réduite aux seules valeurs existantes dans la feuille categorie mais sans les valeurs vides (j'espère que ça te conviendra: le travail se fait en feuille "outils" et on utilise une zone nommée (formule/gestionnaire de noms) pour la liste déroulante).

Si tu choisis une valeur de la liste déroulante dans la colonne b tu as bien la valeur parent qui s'affiche dans la colonne A. Par contre, ce faisant, tu perds ta formule dans cette cellule donc si, sur la même ligne, tu choisis une valeur en colonne C, plus rien ne change.
Pour "réparer" il suffit de copier une cellule de la colonne B non encore utilisée et la coller à la place de la valeur précédemment choisie.

Cordialement
 

Pièces jointes

  • Koenraad2.xlsx
    54.3 KB · Affichages: 148

Koenraad

XLDnaute Nouveau
Re : Reporter une ligne dans une autre feuille en fonction du contenu d'une cellule

Bonsoir,

C'est exactement ce qu'il me fallait. Vous me dépannez de façon considérable. Comment vous remercier?
Autrement j'aurais dû passer par un informaticien professionnel; ce qui m'eût été impossible.
Parfait aussi pour les listes déroulantes simplifiées; c'est vraiment astucieux.

Si jamais vous laissez traîner quelque part votre adresse, je serais heureux de vous remercier par un petit envoi, comme marque de reconnaissance.

Recevez mes salutations reconnaissantes,

Koenraad
 

GDEN13

XLDnaute Nouveau
Bonjour,

Je me suis inspiré des réponses précédentes pour réaliser mon propre fichier (données dans le 1er onglet, et onglet TEST pour les formules)
Cela semble fonctionner, néanmoins la première donnée du tableau n'est pas reprise (en revanche c'est le cas pour la deuxième et toutes les suivantes).
Je ne comprends pas bien pourquoi, est-ce quelqu'un peut regarder et me dire ?
Merci d'avance
 

Pièces jointes

  • Fichier TEST Cécile.xlsx
    42.1 KB · Affichages: 6

Dugenou

XLDnaute Barbatruc
Bonjour,
Le premier résultat n'est pas retourné car tu demande la seconde plus petite valeur de ta matrice quand tu utilises Ligne() pour le K de petite valeur (tu est en ligne 2)
=SIERREUR(INDEX(DEVIS!H:H;PETITE.VALEUR(SI(DEVIS!$C:$C=$L$1;LIGNE(DEVIS!H:H));LIGNE()));"")
D'autre part dans ta formule =SIERREUR(INDEX(DEVIS!A1:A100;PETITE.VALEUR(SI(DEVIS!C1:C100=$L$1;LIGNE(DEVIS!$C1:$C100));LIGNE()));"")
1) il faut verrouiller tes plages de données : DEVIS!A1:A100 et DEVIS!C1:C100 si tu veux pouvoir recopier vers le bas.
2) idéalement tu déclares ta zone de données en tableau et tu utilises les champs du tableau pour que ta zone de données s'allonge dans ta formule quand tu ajoutes des données. En effet : l'utilisation de colonnes entières dans ta formule : DEVIS!H:H, DEVIS!C:C donne des temps de calculs très longs car une colonne = 1 048 576 lignes !!. De plus l'utilisation rend la formule plus "parlante" : tu vois quel champ est utilisé.
3) Plutôt que faire le calcul identique dans chaque colonne (ce qui augmente les temps de calcul) : fais-le dans une colonne que tu peux masquer, puis utilises une simple fonction index dans ton tableau de résultats.

Voir pj corrigée
Cordialement
 

Pièces jointes

  • gden13.xlsx
    43.6 KB · Affichages: 13

Genelos

XLDnaute Nouveau
Bonjour, je découvre votre site et cette entraide est formidable! Je me permets de vous solliciter car je me trouve devant une situation très similaire à celle décrite par MarionT. Je voudrais que mes collègues et moi même puissions remplir le premier onglet et que cela génère automatiquement les suivants (je suis également débutante excel). j'ai donc fait la même formule que celle proposée à Marion mais cela affiche 0 au lieu de copier le texte de la cellule demandée... pouvez-vous m'éclairer?

J'en profite pour une question bonus, est il possible de faire une liste déroulante à choix multiples pour mon onglet "dispositif" (pouvoir cocher plusieurs dispositifs) ?

Merci beaucoup,
 

Pièces jointes

  • fichier contacts.xlsx
    14 KB · Affichages: 0

Genelos

XLDnaute Nouveau
Bon, j'ai été un peu vite je m'en excuse, j'ai bien trouvé la manière de faire apparaître la formule souhaitée!

Par contre je reste preneuse de la question des listes à choix multiples!

Merci à vous,
 

Pièces jointes

  • fichier contacts.xlsx
    16.2 KB · Affichages: 1

Discussions similaires

Statistiques des forums

Discussions
315 108
Messages
2 116 278
Membres
112 711
dernier inscrit
EBEUR