Afficher les données d'une colonne vers une autre en supprimant les lignes

Bonsoir à tous et à toutes, je souffre depuis un certains temps pour trouver solution à mon problème qui est :
j’ai dans une Colonne A1 à A20 une liste de chiffres positif et négatif et dans ma colonne B1 à B20 il ya des immatriculations de voitures. Je voudrais pouvoir afficher dans la colonne C ligne par ligne LES IMMATRICULATIONS là ou nous trouvons un chiffre négatif dans la colonne A
. Jai joint le fichier pour plus de compréhension.
Merci

SANA 1.xlsx (8,8 Ko)

Bonsoir @daouda_sana,

A tester:

En “C2”

=SIERREUR(INDEX($B$2:$B$21;EQUIV(SI(A2<=0;A2);$A$2:$A$21;0));"")

Tirer vers le bas autant que nécessaire.

Fichier de retour ICI==> SANA V1.xlsx (10,3 Ko)

Cordialement.

Bonjour @mdo100
Je vous remercie infiniment pour votre réponse mais il ya juste un petit hic. je voulais que ca affiche sans les cases vides. que le résultat puisse se suivre sans ligne vide. Donc il me faut une technique pour supprimer les lignes automatiqueement après le résultat. Merci de m’aider
Bonne journéé

Bonjour @daouda_sana,

Sous forme de tableau avec un tri sur la colonne “A”.

Capture

e356b54b-f9a1-452f-90b2-2d9714a5ab78

Voir dans le fichier ICI ==> SANA V2.xlsx (11,5 Ko)

Cordialement.

Bonjour Daouda Sana
Salut MDO

La méthode avec INDEX & EQUIV, ne fonctionne pas dans ce cas, car, comme tu pourras constater, les deux valeurs négatives (-14) rapporte la même immat (La 1ère trouvée)

Donc soit par un tri comme tu l’indiques et la formule à mettre en C2 et tirer vers le bas
=SI(A2<0;B2;"")

Ou avec une colonne supplémentaire, sans tri
En colonne D, cellule D2 et tirer vers le bas (colonne qui peut-être masquée)
=SI(A2<0;MAX($D$1:D1)+1;"")

En colonne C, cellule C2 et tirer vers le bas
=SIERREUR(INDEX(B:B;EQUIV(LIGNE()-1;D:D;0));"")

SANA 1.xlsx (11,1 Ko)

Ou encore, s’il faut supprimer les lignes dont la colonne A est positive
par macro

Sub Recup()
  Dim i%, Dl%
  Dl = Range("A" & Rows.Count).End(xlUp).Row 'n° de la dernière ligne non vide de la colonne A
    For i = Dl To 2 Step -1 'boucle depuis la dernière ligne vers la ligne 2
      If Cells(i, 1).Value < 0 Then 'Si la cellule colonne A est négative (Inférieur à 0), alors
        Cells(i, 3).Value = Cells(i, 2).Value 'je copie dans la colonne C la valeur de la colonne B
      Else 'Sinon
        Range("A" & i).EntireRow.Delete 'J'efface la ligne
      End If
    Next i
End Sub

SANA 1.xlsm (15,9 Ko)

Salut @Mimimathy, :wink:

Oui tu as raison, je n’avais pas fait attention aux deux valeurs négatives (-14) qui forcément ramène la 1ère ligne trouvée, sinon j’aurai proposé autre chose.

Bon dimanche.

Re,

J’ai trouvé très bizarre qu’un spécialiste des formules comme toi, face cette erreur :open_mouth:
Tu m’as fait commencer ce dimanche du mauvais pied (:grin:

Mais, je te rassure, j’avais commencé par la même “gourde” de mon côté

A+

Bonjour mdo100
Bonjour Mimimathy
Bonjour Le Forum

Une Petite Question
d’après Vous impossible de supprimer les lignes Positifs par une Formules Excel, il faut le code VBA ?

de toutes les façons j’ai appris beaucoup de choses dans ce forum ,que par l’occasion je vous félicite Mimimathy pour le Vba car là vous êtes trés fort je vous tire chapeau et ne t’en fait pas mdo100 je ne vous ai pas oublié en formules comme il a avancer Mimimathy vous étes trés fort et qui est le gagnant dans tout ça c"est moi, j’apprends doucement mais surement.
Merci beaucoup du temps que vous consacriez pour nous MERCI.