Trouver le Numéro d'une ligne

PrinceCorwin

XLDnaute Occasionnel
Bonjour les gens

Je coine sur la facon de retourver un numéro de ligne correspondant à plusieurs critères.
Ex :
trouve la ligne si [A:A]="crit1" & [D:D]="Crit2" & [K:K]="Crit3"

Je patauge entre les sommeprod et les equiv ...


Merci pour vos futurs conseils
Corwin
 

ERIC S

XLDnaute Barbatruc
Re : Trouver le Numéro d'une ligne

Bonjour

tout dépend de ton fichier mais souvent le plus simple est de rajouter une colonne pour concaténer les infos :

=A1 & B1 & C1 et tu tires. après tu peux utiliser équiv pour te donner la ligne
 

PrinceCorwin

XLDnaute Occasionnel
Re : Trouver le Numéro d'une ligne

Bonjour Eric,

Justement je souhaite eviter d'ajouter une colonne de concatenation.

Cordialment
CI joint un exemple.
Dans l'Onglet Recap, j'ai fait un formulaire pour "facilité" la saisie atelier
L'onglet Interro me permets de gérer les critères de recherche pour la sasie.
Dans mon formulaire je note les quantité réelles recues qui viennent se s'enregistrer dans l'Onglet Interro.

Maintenant je souhaite déplacer ces quantités dans l'onglet Recap à la bonne place.

Merci
Corwin
 

Pièces jointes

  • CHARGE14.xlsm
    107.7 KB · Affichages: 76
Dernière édition:

ERIC S

XLDnaute Barbatruc
Re : Trouver le Numéro d'une ligne

Re

un peu compliqué quand on n'est pas dedans, je préfère reformuler :

tu vas sur recap
tu lances la saisie - cela ouvre un USF
tu valides ta saisie

c'est là que tu veux que cela aille sur la bonne ligne (en vba alors) ?

Le rrôle de la feuille tableau ?
 

PrinceCorwin

XLDnaute Occasionnel
Re : Trouver le Numéro d'une ligne

Bonjour,

il n'y a que 2 onglets en cause pour ce 'probleme'
Recap et Interro.Les autres sont utilisé avec d'autres scripts...

Voici ceux a quoi j'en suit
VB:
For lig = 2 To nblibtrouve
    Set o = r.[A:A].Find(i.Cells(lig, 1))
    If Not o Is Nothing Then
        premier = o.Address
        Do
            If r.Cells(o.Row, 4) = i.Cells(lig, 4) And _
                r.Cells(o.Row, 10) = i.Cells(lig, 10) Then
                testlig = o.Row
                testcol = Application.WorksheetFunction.Match(Mid(i.Cells(2, 16), 2), r.[1:1], 0)
                r.Cells(o.Row, testcol) = i.Cells(lig, 12)
            Else
                Set o = r.[A:A].FindNext(o)
            End If
        Loop While Not o Is Nothing And o.Address <> premier
    End If
Next lig

Mais le script tourne en rond s'en vouloir s'arreter...
i et r sont les objets feuilles (Interro et Recap).


Corwin
 

R@chid

XLDnaute Barbatruc
Re : Trouver le Numéro d'une ligne

Bonjour @ tous,
essayer en L2 avec :
Code:
=SOMMEPROD((Interro!$M$2:$M$8=$A2)*(Interro!$N$2:$N$8=$I2)*(Interro!$O$2:$O$8=$K2)*(Interro!$P$2:$P$8=L$1);Interro!$L$2:$L$8)
@ tirer vers le bas et vers la droite.
Donnees insuffisantes pour faire le test
Amicalement
 

PrinceCorwin

XLDnaute Occasionnel
[RESOLU] Trouver le Numéro d'une ligne

Bonour tout le monde,
Rachid, Eric,

@Rachid,
Effectivelent cela fonctionne, mais dans l'onglet interro les valeurs sont modifiées constamment, comme sur la feuille Recap, donc je ne peux pas mettre de formule.

- Problème résolu -
Dans ma boucle pour trouver la ligne dans Recap, le script tournait en rond à cause du fait que je ne pase pas à l'enregistrement suivant. J'ai eu le FLASH dans le train hier aprem.
J'ai donc ajouté une ligne pour passer à l'enregistrement suivant.

Merci tout le monde
@Plus
 

Discussions similaires

Statistiques des forums

Discussions
312 387
Messages
2 087 858
Membres
103 671
dernier inscrit
rachid1983