Aide sur un remplissage automatique de cellule Excel 2003-2007
#1
Débutant XLPages

Inscription: 15/10/2011

Messages: 2

Système d'exploitation:
PC
Version Excel utilisée:
2003 et 2007
Posté le : 15-10-2011 07h03
 
Bonjour à tous et à toutes. Je suis nouveau sur ce forum que je viens de découvrir.
Tout d'abord merci à MDF pour ses macros exceptionnelles notamment le calendrier qui me rend de fiers services.
Voilà ce qui m'amène:
Je souhaite arriver à faire un remplissage automatique de plusieurs cellules excel en fonction de la sélection d'un valeur d'une liste dans une cellule en début de ligne. Je vais détailler. 
Dans l'exemple joint, J'ai mes données de base sur la feuille 1 avec en début de ligne un nombre (1 à 5) qui est en faite une liste que j'ai nommée "LIST"
Dans la feuille2, dans les cases vertes j'ai mis une validation de données qui fait appel à cette liste.
Mon problème est le suivant:
Lorsque je sélectionne 1 dans la liste sur la feuille2, automatiquement je veux que les cellules de la ligne ou j'ai sélectionné "1" se remplissent avec les données de la ligne1 de la  feuille1
Si je sélectionne 2, le logiciel rempli la ligne du tableau avec les données de la ligne 2 de la feuille1
Mais attention l'ordre des cellule n'est par forcément le même entre la feuille1 et la feuille2, voir toutes les données des lignes de la feuille1 ne sont pas forcément à recopier dans la feuille2
En détails:
SI je sélectionne 2 dans la première case verte de mon exemple
Le résultat  doit être celui décrit dans la feuille3
J'ai déjà pas mal cherché sur ce sujet mais je suis loin d'être un expert, de plus il difficile pour un problème aussi complexe de faire une recherche simple sur internet
Voilà, si quelqu'un à une idée sachant je vous en remercie d'avance



Pièce jointe:
xls Essai Sélection.xls   [ Taille: 22.00 Ko - Téléchargements: 1744 ]
Hors Ligne
Rapport   Haut 

Re: Aide sur un remplissage automatique de cellule Excel 2003-2007
#2
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 15-10-2011 09h21
Bonjour omega7162, Didier, le forum

Une Liste de validation, ne permet pas de remplir une cellule, elle ne fait que contrôler et d'autoriser la saisie de valeurs dans la cellule.

Pour remplir automatiquement une cellule, il y a les formules ou du code VBA.

Dans ton exemple, dans la cellule G2 inscrit la formule ci-dessous.
=INDEX(Feuille1!$A$1:$G$5;EQUIV(A2;LIST;0);7)
Ensuite tu adaptes la valeur "7" de cette formule pour retourner les autres valeurs.

Ce chiffre représente le n° de colonne relative à la plage indiquée (Feuille1!$A$1:$G$5) qui sera utilisée par la fonction INDEX pour retourner la valeur.


Si tu as la possibilité de rajouter une colonne dans ton tableau de la feuile2, indique la formule suivante
=EQUIV(A2;LIST;0)
Ensuite dans la formule retournant la valeur, tu remplaces la partie EQUIV par la référence de cette nouvelle cellule.

@+Jean-Marie
Hors Ligne
Rapport   Haut 

Re: Aide sur un remplissage automatique de cellule Excel 2003-2007
#3
Débutant XLPages

Inscription: 15/10/2011

Messages: 2

Système d'exploitation:
PC
Version Excel utilisée:
2003 et 2007
Posté le : 15-10-2011 10h54
 Mille merci
Ca marche nickel et c'est simple.
Par contre je ne comprends pas bien le but de la deuxième manip:
Rajouter une colonne dans la feuille 2 oui, pourquoi pas mais je ne vois pas trop l'intérêt si la formule de base fonctionne.
J'ai fait un test de la deuxième formule dans une cellule vide de la feuille2 et le résultat est l'affichage de la sélection que je fait dans la liste de validation
Si je sélectionne "2" dans ma liste la formule me retourne simplement "2" ???
Faut-il que je renomme cette cellule avec un nom particulier et remplacer la formule avec EQUIV par le nom de la cellule pour simplifier la formule. Est-ce ça le but?
D'avance merci
Cordialement

Hors Ligne
Rapport   Haut 

Re: Aide sur un remplissage automatique de cellule Excel 2003-2007
#4
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 17-10-2011 13h19
Bonjour omega7162, Didier, le Forum

La formule de base aurait plutôt celle-ci (formule en F2
=INDEX(Feuille1!$A$1:$G$5;$A2;7)

J'ai volontairement rajouter la fonction EQUIV qui permet de trouver l'emplacement de la valeur dans une plage. Je l'ai rajouté dans le cas ou ton tableau n'était qu'un exemple "limité" de ton véritable tableau de données, que les valeurs de la colonne A de la feuil1 ne soient pas triées, quelles ne soient pas numérique.

Rajouter une colonne avec la fonction retournant la position de la valeur (fonction EQUIV) dans une cellule, évite le recalcul systématique de cette position pour chaque formule contenant INDEX. Tu n'as pas non plus besoin de déclarer un nom nommé avec cette formule.
Sur le point du rajout d'un intermédiaire, on rentre de plein pied dans le calcul des formules dans EXCEL et de la structure d'un tableau de données. Deux écoles vont s'affronter ceux qui évitent l'imbrication des fonctions dans les formules, et ceux qui font des formules clef en main. Quand on est débutant, l'utilisation de fonctions imbriquées est à proscrire au maximum, ainsi que les formules dans les noms définis.

J'espère avoir répondu à tes réflexions.

@+Jean-Marie
 
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes