Remplissage auto sous excel

Résolu/Fermé
Tofidou - 4 avril 2011 à 13:53
 Tofidou - 7 avril 2011 à 10:02
Bonjour,

je débute complètement en vba mais jai déjà fait un peu de programmation dans d'autres langages. Je voudrai pouvoir remplir une colonne d'un tableau automatiquement en fonction des valeurs dans 2 autres colonnes. Comment procéder?

A voir également:

19 réponses

PtiSwiss Messages postés 97 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 6 mai 2011 37
4 avril 2011 à 13:56
bonjour,

est ce que tu peux préciser le genre de calcul que tu voudrais effectuer stp
1
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 4/04/2011 à 15:00
Salut,

Guère plus clair comme explication, il faut écrire une formule mais par raport à quelle colonne, quelle feuille et quelle condition.
explique: si j'ai dans cette feuille dans la colonne ?
et ça dans cette feuille dans colonne ?
alors je veux ce résultat dans la feuille ? et colonne ? si non je veux ce résultat !

Pour ma part je ne suis pas devin et ma boule de cristal est en panne alors donne plus de renseignement si tu veux une réponse adaptée
A première vue j'opterai pour une rechercheV

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
4 avril 2011 à 17:49
Re,

Avec une formule matricielle

=SIERREUR(INDEX(Critères;EQUIV(B2&C2;(Term)&(Point);0);3);"")

un petit exemple avec explications sur ce lien

https://www.cjoint.com/?1eerWQdj
1
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
5 avril 2011 à 11:50
Re,

Regarde le fichier joint

http://cjoint.com/?1eflXYnjYOH
1
Merci beaucoup, ça m'a pas mal débloquée ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 6/04/2011 à 10:59
Re,

Pour déclarer une matricielle, clic sur la première cellule dans laquelle tu as saisi ta formule, dans mon exemple en D2

=SIERREUR(INDEX(Critères;EQUIV(B2&C2;(Term)&(Point);0);3);"")

clic dans la barre des formules pour l'activer la formule ou double clic dans la cellule

en maintenant les touches enfoncées commence par la touche Ctrl puis shift (touche majuscule puis Entrée lache les trois touches si tu fais correctement, la formule se mettra entre {}
comme ceci

{=SIERREUR(INDEX(Critères;EQUIV(B2&C2;(Term)&(Point);0);3);"")}

ensuite incrémente la cellule vers le bas.
Attention de bien nommer les trois plages de la feuille Liste, dans mon exemple elles s'arrêtent à la ligne 20

je crois que dans mes explication avoir parlé de la touche Alt qui est une erreur, il s'agit bien de la touche Shift.

tiens nous au courant
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 6/04/2011 à 23:08
Alors dans mon exemple, clic sur l'onglet Formules/module Noms définis/Gestionnaire de noms/clic sur le nom d'une plage exemple Term/puis sur modifier/dans Fait référence a: modifie la plage ex =Term!$A$2:$A$50 pour couvrir la plage de A2 à A50/OK
clic sur le nom de la deuxième plage Point /modifier/dans Fait référence a: =Liste!$B$2:$B$50/Ok
puis sur critères modifier/dans Fait référence a: =critères!$A$2:$C$50/OK
Fermer
incrémenter la formule cellule D2 feuille Tableau jusqu'à la ligne 50

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
1
j'ai pas de calcul à faire. Il faut seulement remplir une colonne en fonction des valeurs rentrées dans les 2 colonnes précédentes. Pour savoir quelle valeur mettre on se réfère à une liste dans une autre feuille excel.
Je ne sais pas si c'est très clair...
0
Ok, donc je vais éclaircir tant que je peux avec mon peu de connaissance sur le sujet.
J'ai donc une feuille "Tableau" qui contient 4 colonnes "idObjet", "Term", "Point" et "Term-Point" et une autre feuille "Liste" qui contient les 3 dernières colonnes de la feuille "Tableau". La feuille "Liste" et une liste référence qui contient toutes les valeurs de "Term-Point" en fonction des valeurs de "Term" et Point".
Et je voudrai donc pouvoir en rentrant dans la feuille "Tableau" les colonnes "Term" et "Point", que la colonne "Term-Point" se remplisse automatiquement à partir de la feuille "Liste".
0
Le lien ne renvoie pas grand chose mais c'est pas grave. Merci beaucoup, je vais essayer de me débrouiller avec ça.
0
PtiSwiss Messages postés 97 Date d'inscription lundi 23 octobre 2006 Statut Membre Dernière intervention 6 mai 2011 37
5 avril 2011 à 10:48
si c'est juste regrouper deux valeurs dans une seule case la commande concaténer devrais te suffire

=CONCATENER(Tableau!C23;" ";Tableau!C3)

sinon désolé
0
J'ai encore un petit problème... Je comprend pas trop le coup du "ctrl alt entrée", il ne se passe rien quand je le fait. Et le remplissage se fait pour les 5 premières lignes et ensuite plus rien ne s'affiche... Je peux encore solliciter un petit peu ton aide?!
0
OK, je comprend mieu. Donc maintenant, j'ai bien les accolades qui s'affichent mais toujours un problème pour remplir toute la colonne. Je ne comprend vraiment pas pourquoi, puisque j'ai bien incrémenté la première formule sur toute la colonne et ça se remplit seulement pour les 5 premières lignes alors qu'avec mes valeurs, tout devrait se remplir...
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
6 avril 2011 à 13:34
Re,

As tu modifié les plage de la feuille Liste
0
Si par "plages" tu entend le titre des colonnes, je n'ai rien modifié. J'ai seulement rentré les données correspondantes.
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
6 avril 2011 à 14:19
Quel ta version excel !
0
2007
0
Bon je vais essayer de faire en sorte que ce soit la dernière fois où je prend sur ton temps. J'ai fait exactement ce que tu m'as dit et maintenant je n'ai plus rien dans la colonne Term-Point de la feuille "Tableau"...
En contant les en-têtes j'ai 270 lignes donc j'ai appliqué tes formules jusque là. Peut être que j'ai eu un problème pour incrémenter le formule de D2...?!
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
6 avril 2011 à 23:23
Re,

Il faut que tes plages nommées aient le même nombre de lignes si tu mets A2 à A30 pour la plage Term, il faudra que la plage Liste soit la même B2 à B30 ainsi que la plage critères A2 à C30.
Pour tester facilement tes plages, au dessus de l'entête de colonne A tu as la barre d'adresse (également appelé barre de position), sur la droite de cette barre une petite flèche, si tu clic dessus tu auras la liste de tes plages nommées, si tu clic sur Term par exemple la plage se mettra en surbrillance etc ...

pour incrémenter une formule, dans ton cas la formule en D2 une fois que tu l'a déclaré en matricielle entre {}
clic sur D2, sur le bord bas à droit de la cellule tu remarqueras un petit carré et lorsque tu passeras le pointeur de la souris dessus, le pointeur prendra la forme d'une croix. Clic gauche à ce moment là et sans lâcher le clic fais glisser vers le bas jusqu'au même nombre de ligne 30

sur le lien un exemple jusqu'à la ligne 300

http://cjoint.com/?1egxlTPXJKX
0
CA MARCHE! c'est super, je te remercie vraiment ^^
0