Un soucis sur une formule
Résolu
claudine
-
claudine -
claudine -
Bonjour,
Je me suis fait une formule suite à toute mes recherche sur le FORUM, mais ma formule ne fonctionne pas pouvez-vous me dire ou je me suis tromper.
=RECHERCHEV(B6;'[Tableau Prélèvements Autom.xls]17 Fév 2010'!$G$2:$G$65;A6;0)
Bien cordialement
Je me suis fait une formule suite à toute mes recherche sur le FORUM, mais ma formule ne fonctionne pas pouvez-vous me dire ou je me suis tromper.
=RECHERCHEV(B6;'[Tableau Prélèvements Autom.xls]17 Fév 2010'!$G$2:$G$65;A6;0)
Bien cordialement
A voir également:
- Un soucis sur une formule
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
3 réponses
Bonjour !
Est ce que A6 contient bien un nombre ( le décalage de colonne ) ?
Et de toute façon, ta zone de données ne peut être limitée à la seule colonne "G" de recherche à gauche, elle doit comprendre la/les colonnes contenant le résultat à renvoyer. Ta zone doit être un rectangle, et non une seule colonne.
A+
Nyctaclope
Est ce que A6 contient bien un nombre ( le décalage de colonne ) ?
Et de toute façon, ta zone de données ne peut être limitée à la seule colonne "G" de recherche à gauche, elle doit comprendre la/les colonnes contenant le résultat à renvoyer. Ta zone doit être un rectangle, et non une seule colonne.
A+
Nyctaclope
Bonjour
pour complèter les infos, exactes, de Nictalope:
la formule RECHERCHEV(CELL;CHAMP;COLONNE;0)
se bâtit comme suit:
CELL= la cellule où vous entrez la valeur à chercher (ici à priori B6)
CHAMP: le champ complet que vous exploitez, sachant que la colonne où vous cherchez B6 doit être la première de ce champ
COLONNE étant le N° d'ordre de la colonne à éditer dans le champ, pas dans la feuille (1,2,3 Etc...)
enfin le 0 est un code excel qui lui évite de dire n'importe quoi
en apparté: vu le nom de votre feuille, et ce qu'il améne comme clarté dans les formules, il serait plus simple de nommer votre champ pour construire la formule avec ce nom:
sur Excel avant 2007:
sélectionnez tout votre champ / Barre d'outil / Insertion / Nom / Définir
fenêtre du bas, votre champ est affiché, fenêtre du haut, entrez un nom simple, par ex: CHAMP
votre formule deviendra:
=RECHERCHEV(Cell;CHAMP;Col;0)
Crdlmnt Bonne chance
pour complèter les infos, exactes, de Nictalope:
la formule RECHERCHEV(CELL;CHAMP;COLONNE;0)
se bâtit comme suit:
CELL= la cellule où vous entrez la valeur à chercher (ici à priori B6)
CHAMP: le champ complet que vous exploitez, sachant que la colonne où vous cherchez B6 doit être la première de ce champ
COLONNE étant le N° d'ordre de la colonne à éditer dans le champ, pas dans la feuille (1,2,3 Etc...)
enfin le 0 est un code excel qui lui évite de dire n'importe quoi
en apparté: vu le nom de votre feuille, et ce qu'il améne comme clarté dans les formules, il serait plus simple de nommer votre champ pour construire la formule avec ce nom:
sur Excel avant 2007:
sélectionnez tout votre champ / Barre d'outil / Insertion / Nom / Définir
fenêtre du bas, votre champ est affiché, fenêtre du haut, entrez un nom simple, par ex: CHAMP
votre formule deviendra:
=RECHERCHEV(Cell;CHAMP;Col;0)
Crdlmnt Bonne chance
Re
Ton post 2 :
Bigre ...
Ton erreur de conception vient de ce que RechercheV n'écrit pas dans une cellule, mais affiche un résultat dans la cellule où figure cette formule RechercheV() ...
De façon générale, aucune "formule" ne peut écrire quelque part ailleurs ( sauf une macro ), elle ne peut qu'afficher quelque chose là où elle est ..
Si c'est A6 qui doit afficher le résultat trouvé, la formule doit être dans A6 ..
Ta formule DANS A6 doit alors être quelque chose comme cela :
Si B6= résultat trouvé par RechercheV(), alors Afficher B6, sinon Afficher "*" ( ou "erreur" ou "pas trouvé" )
Soit dans A6 : =SI(B6=RechercheV(...);B6;"Pas trouvé")
Où tu remplaces "RechercheV()" par ton expression écrite plus haut, MAIS en y remplaçant ton "A6" par Zéro ( ou 1, je ne suis plus sûr ) car RechercheV doit renvoyer le résultat qui est dans la même colonne que là ou on recherche la valeur B6, donc avec un DECALAGE de colonne de zéro vers la droite. ( essaye avec 0, puis 1, mais je crois que c'est 0 ).
Cela, c'est ce que tu veux ( afficher B6 ).
Personnellement, compte tenu du but recherché, j'afficherais plutôt "A facturer" que B6, et rien dans le cas contraire , c'est à dire :
=SI(B6=RechercheV(...);"A facturer";"")
L'aspect global sera plus "propre" ...
A noter que si tu écris dans A6 ( autre solution plus simple )
=RECHERCHEV(B6;'[Tableau Prélèvements Autom.xls]17 Fév 2010'!$G$2:$G$65;0;0)
tu obtiens dans A6 la valeur B6 cherchée ( si elle est trouvée) ou N/A ( ou quelquechose comme cela ) qui est le message d'erreur quand Excel n'a pas trouvé , et cela à cause du dernier "0" de la formule,qui demande à Excel de faire une recherche exacte, et non de renvoyer ce qui est juste avant dans la liste, s'il n'y a pas coincidence ..
J'espère avoir été clair ...
Une remarque, concernant la syntaxe de localisation dans le document de tes cellules de recherche : elle me parait un peu bizarre ( mais je n'ai plus touché à Excel depuis une quinzaine d'années ) je suppose que "17 Fév 2010" est le nom de la feuille ..
Mais si tu as obtenu ton adressage par un clic de souris en construisant ta formule, pas de problème, c'est bon ...
A+
Nyctaclope
Ton post 2 :
Bigre ...
Ton erreur de conception vient de ce que RechercheV n'écrit pas dans une cellule, mais affiche un résultat dans la cellule où figure cette formule RechercheV() ...
De façon générale, aucune "formule" ne peut écrire quelque part ailleurs ( sauf une macro ), elle ne peut qu'afficher quelque chose là où elle est ..
Si c'est A6 qui doit afficher le résultat trouvé, la formule doit être dans A6 ..
Ta formule DANS A6 doit alors être quelque chose comme cela :
Si B6= résultat trouvé par RechercheV(), alors Afficher B6, sinon Afficher "*" ( ou "erreur" ou "pas trouvé" )
Soit dans A6 : =SI(B6=RechercheV(...);B6;"Pas trouvé")
Où tu remplaces "RechercheV()" par ton expression écrite plus haut, MAIS en y remplaçant ton "A6" par Zéro ( ou 1, je ne suis plus sûr ) car RechercheV doit renvoyer le résultat qui est dans la même colonne que là ou on recherche la valeur B6, donc avec un DECALAGE de colonne de zéro vers la droite. ( essaye avec 0, puis 1, mais je crois que c'est 0 ).
Cela, c'est ce que tu veux ( afficher B6 ).
Personnellement, compte tenu du but recherché, j'afficherais plutôt "A facturer" que B6, et rien dans le cas contraire , c'est à dire :
=SI(B6=RechercheV(...);"A facturer";"")
L'aspect global sera plus "propre" ...
A noter que si tu écris dans A6 ( autre solution plus simple )
=RECHERCHEV(B6;'[Tableau Prélèvements Autom.xls]17 Fév 2010'!$G$2:$G$65;0;0)
tu obtiens dans A6 la valeur B6 cherchée ( si elle est trouvée) ou N/A ( ou quelquechose comme cela ) qui est le message d'erreur quand Excel n'a pas trouvé , et cela à cause du dernier "0" de la formule,qui demande à Excel de faire une recherche exacte, et non de renvoyer ce qui est juste avant dans la liste, s'il n'y a pas coincidence ..
J'espère avoir été clair ...
Une remarque, concernant la syntaxe de localisation dans le document de tes cellules de recherche : elle me parait un peu bizarre ( mais je n'ai plus touché à Excel depuis une quinzaine d'années ) je suppose que "17 Fév 2010" est le nom de la feuille ..
Mais si tu as obtenu ton adressage par un clic de souris en construisant ta formule, pas de problème, c'est bon ...
A+
Nyctaclope
Dans mon tableau base de données regade dans la colonne B les n° d'affaire et si dans mon 2ème tableau tu trouve le même n° d'affaire qui est dans ma colonne G tu me l'inscrit dans ma colonne A afin que je puisse l'identifié.
Voilà ce que je voulais faire; aFIN DE VOIR POUR MA FACTURATION
mERCI DE VOTRE AIDE