Trouver la ligne de la dernière occurence de 2 colonnes

Bonjour à vous amis programmeurs !

Voilà je recherche la formule me permettant de trouver la ligne de la dernière occurence de 2 colonnes. Voici le tableau:

No ligne Mr Martin Mme Durand

122 1

123 1

124 1 1

125 1

126 1

Donc je cherche la formule qui me donne le numéro de la dernière ligne où Mr Martin et Mme Durand on été présent ensemble, soit ici la ligne 124

Sur ce tableau, on tape 1 si la personne est présente et case vide si absente.

Voilà, j'espère que quelqu'un pourra m'aider.

Merci à vous.

Bonjour,

Un exemple

25lpo347.xlsx (10.85 Ko)

Bonjour le fil, bonjour le forum,

Une autre proposition VBA avec le code ci-dessous :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim LI As Integer 'déclare la variable LI (LIgne)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter a ton cas)
'définit la dernière ligne éditée (colonne A ou B)
DL = IIf(O.Cells(Application.Rows.Count, "A").End(xlUp).Row > O.Cells(Application.Rows.Count, "B").End(xlUp).Row, O.Cells(Application.Rows.Count, "A").End(xlUp).Row, O.Cells(Application.Rows.Count, "B").End(xlUp).Row)
TV = O.Range("A1:B" & DL) 'définit le tableau des valeurs TV
'boucle inversée de la dernière ligne DL à la ligne 1
For I = DL To 1 Step -1
    If TV(I, 1) = 1 And TV(I, 2) = 1 Then 'condition : si les deux valeurs des colonne 1 et 2 (=> A et B) valent 1
        LI = I 'définit la ligne LI
        Exit For 'sort de la boucle
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
MsgBox LI 'affiche la variable LI (ici tu feras ce que tu veux)
End Sub

Merci pour vos réponses rapides,

M12 je peux pas mettre une troisième colonne, n'y aurait-il pas un formule plus directe sans passer par un colonne addition?

ThauThème

Désolé mais je ne suis pas programmeur je ne sais pas ce que c'est que VBA.?? Ça a l'air bien compliqué!!

11lpo347.xlsx (11.09 Ko)

Re,

A tester

Formule matricielle à valider par les touches CTRL + MAJ + Entrée

Re,

Voir si la colonne A n'existe pas pour le N° de ligne

9lpo347-v2.xlsx (10.81 Ko)

M12 ça ne fonctionne pas

Re,

Si cela fonctionne, la preuve sur mon exemple

seulement, tu ne lis pas ou n'exécute pas ce que j'ai notifié

FORMULE MATRICIELLE que l'on valide par les touches CTRL MAJ et ENTREE

Tu sélectionnes la cellule où doit se mettre le résultat, tu colles la formule et tu valides avec les 3 touches

La formule doit-être active dans la barre de formule pour la valider

Je pensais pas que c'était si compliqué...

En fait je voulais juste le no de la ligne et non pas qu'il m'écrive "ligne no" car le no de la ligne je le renvoi sur une autre formule...

Re,

Et bien tu enlèves la partie texte, et si tu ne le précise pas, je ne peux le savoir

=LIGNE(INDEX(A:A;MAX(($A:$A=1)*($B:$B>0)*LIGNE($A:$A))))

Avec validation avec les 3 touches

Je sais pas ce que c'est qu'une formule matricielle.

Re,

Eh bien Google est ton ami

Une formule matricielle peut effectuer plusieurs calculs et renvoyer des résultats simples ou multiples : vous utilisez une formule matricielle lorsque vous devez effectuer plusieurs fois le même calcul en utilisant deux ensembles ou plus de valeurs différentes, nommés arguments matriciels. Chaque argument matriciel doit posséder le même nombre de lignes et de colonnes.

Vous identifiez facilement une formule matricielle dans la barre de formule, car elle est placée entre accolades. Vous créez des formules matricielles de la même façon que des formules standard simples, en les faisant précéder d’un signe égal (=), mais vous les validez en appuyant sur CTRL+MAJ+ENTREE et non uniquement sur ENTREE.

Vous ne pouvez pas saisir manuellement une formule matricielle en la plaçant entre accolades. Celles-ci sont générées automatiquement lors de la validation de la formule par CTRL+MAJ+ENTREE. Lorsque vous modifiez une formule matricielle, vous devez à nouveau la valider par CTRL+MAJ+ENTREE. Il en va de même si vous copiez une formule matricielle : une validation par CTRL+MAJ+ENTREE, après la copie, est indispensable.

https://support.office.com/fr-fr/article/instructions-et-exemples-de-formules-matricielles-7d94a64e-3ff3-4686-9372-ecfd5caa57c7

Désolé et merci pour vos réponses, je pensais trouver une formule plus simple mais là j'avoue que j'y comprend rien...

Merci quand même...

Re,

A partir du moment que la recherche se fait depuis le bas, il faut bien rechercher la dernière ligne de la colonne A (matrice A) rempli et vérifier que les colonnes A & B soit remplit,

Ceci fait, on attribue sa ligne par la fonction Ligne()

La recherche aurait commencée par le haut, c'est plus simple, mais toujours en matricielle

=EQUIV(1&1;A:A&B:B;0)
Rechercher des sujets similaires à "trouver ligne derniere occurence colonnes"