nbcar, recherchev sur plusieurs colonnes

  • Initiateur de la discussion Initiateur de la discussion Waldner11
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

Waldner11

Guest
Bonjour,

Je souhaiterais récupérer dans une colonne des numéros de série contenu dans une autre feuille, seulement ces numéros de série peuvent être situés dans différentes colonnes. Donc je voudrais récupérer le résultat qui est dans une de ces colonnes et qui fait strictement moins de 12 caractères.
Voilà ce que j'ai actuellement (il compare sur juste une colonne).

=SI(NBCAR(RECHERCHEV(A3;condition!A:J;7;FAUX)<12);RECHERCHEV(A3;condition!A:J;7;FAUX);"")


Je voudrais savoir si l'on peut l'insérer directement dans une macro ou alors directement la fonction.(sur excel)

Merci d'avance
 

Pièces jointes

Dernière modification par un modérateur:
Re : nbcar, recherchev sur plusieurs colonnes

Salut Waldner11 et bienvenue sur ce forum !

Si je comprends bien ton souhait, il me semble que j'écrirais:
Code:
=SI(NBCAR(RECHERCHEV(A3;condition!A:J;7;FAUX)[B][COLOR="Red"])[/COLOR][/B]<12;RECHERCHEV(A3;condition!A:J;7;FAUX);"")
Plutôt que
=SI(NBCAR(RECHERCHEV(A3;condition!A:J;7;FAUX)<12);RECHERCHEV(A3;condition!A:J;7;FAUX);"")
si tu veux afficher le n° de série uniquement si celui-ci comporte moins de 12 caractères.

Dans le fichier que tu as déposé, il ne nous est pas possible de visualiser le contenu de A3 (valeur cherchée de ta RechercheV). Peut-être qu'en ayant sous les yeux un aperçu du fichier complet (2 feuilles ?) sans données confidentielles, ça donnerait des idées à quelqu'un ... on ne sait jamais: un regard neuf sur ton fichier permet parfois d'envisager les choses sous un autre jour.
Par ailleurs, il n'y aura jamais de n° de série pour un "produit" que dans une seule des 4 colonnes (G:J) ?

Bref, pour toi qui connais bien ton fichier, les choses sont sans doute limpides ... pour ceux qui ne le connaissent pas du tout, on peut se perdre en conjectures ... ou simplement renoncer et attendre que tu "reviennes à la charge"

Bien à toi,

Modeste
 
Re : nbcar, recherchev sur plusieurs colonnes

Je vais essayer de mieux m'expliquer, ta formule (modeste) est bien, mais elle ne fait la recherchev que sur la colonne F, moi je voudrais qu'elle interroge plusieurs colonnes(en orange sur le fichier) jusqu'à ce qu'elle arrive à un numéro de série. [Un numéro de série peut se situer dans n'importe laquelle des colonnes orange] Et je voudrais que le résultat s'inscrive dans la colonne en verte.
 

Pièces jointes

Re : nbcar, recherchev sur plusieurs colonnes

=SI(NBCAR(RECHERCHEV(A6;condition!A:J;7;FAUX))<12;RECHERCHEV(A6;condition!A:J;7;FAUX);SI(
(NBCAR(RECHERCHEV(A6;condition!A:J;8;FAUX))<12;RECHERCHEV(A6;condition!A:J;8;FAUX);"")) SI(
(NBCAR(RECHERCHEV(A6;condition!A:J;9;FAUX))<12;RECHERCHEV(A6;condition!A:J;9;FAUX); SI(
(NBCAR(RECHERCHEV(A6;condition!A:J;10;FAUX))<12;RECHERCHEV(A6;condition!A:J;10;FAUX);SI
(NBCAR(RECHERCHEV(A6;condition!A:J;3;FAUX))<12;RECHERCHEV(A6;condition!A:J;3;FAUX);""))))))))

je suis parti sur quelque chose comme ça mais il me semble que ce serait mieux sous une macro. Quelqu'un à une idée?
 
Re : nbcar, recherchev sur plusieurs colonnes

Bonjour,

Une autre formule
=Indirect("condition!"&Adresse(n° ligne ; n° colonne))

=INDIRECT("condition!"&ADRESSE(MIN(SI((NBCAR(Zone)<12)*(Zone<>"")*(GAUCHE(Titre;3)="Num")*(Adr=$A3);LIGNE(Zone)));MIN(SI((NBCAR(Zone)<12)*(Zone<>"")*(GAUCHE(Titre;3)="Num")*(Adr=$A3);COLONNE(Zone)))))

Formule matricielle, à valider par ctrl, maj et entrée

Format conditionnel pour masquer les #VALEUR!

La formule peut être nommée et, dans ce cas, elle est à valider simplement par Entrée
=SI(ESTERR(Form);"";Form)
 

Pièces jointes

Re : nbcar, recherchev sur plusieurs colonnes

Wahou! c'est exactement ça sauf que j'ai pas tout compris ^^'
C'est possible d'ajouter des zones car je ne connais pas forcément le nombre de lignes total du fichier
 

Pièces jointes

Dernière modification par un modérateur:
Re : nbcar, recherchev sur plusieurs colonnes

Re,

Les formules matricielles sont à valider en appuyant simultanément sur ctrl, maj et entrée.
Elles sont lentes --> j'ai laissé la formule non nommée sur une seule cellule, dans les autres cellules, elle est nommée.

Faire travailler la formule sur 500 lignes et 9 colonnes, ça ne vaut pas le coup s'il y a 17 lignes de données.

Dans le fichier joint, les plages sont définies par formule.
Leur hauteur (donc la hauteur prise en compte par la formule) est le nombre de valeurs de A:A

Il y a un onglet "Noms" qui les détaille
 

Pièces jointes

Re : nbcar, recherchev sur plusieurs colonnes

Bonjour tout le monde

Je ne sais pas si en simplifiant la formule (C3) va te permettre de résoudre ton dernier problème
Code:
=INDIRECT("condition!"&ADRESSE(LIGNE(A3);MIN(SI((NBCAR(Zone)<12)*(Zone<>"")*(GAUCHE(Titre;3)="Num")*(Adr=$A3);COLONNE(Zone);256))))&""
La partie du 1er argument de la fonction ADRESSE n'a pas besoin d'être conditionnelle.
Ensuite en fixant la valeur 256 à la base de la formule, on supprime la gestion d'erreur.

On peut aussi l'écrire de cette manière
Code:
=DECALER(A3;;MIN(SI((NBCAR(Zone)<12)*(Zone<>"")*(GAUCHE(Titre;3)="Num")*(Adr=$A3);COLONNE(Zone);255))-1)&""
Ces deux formules sont à valider par Ctrl+Shift+Entrée

@+Jean-Marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
314
Réponses
26
Affichages
2 K
Retour