Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

probleme de vlookup

10 réponses
Avatar
joseph84
Bonjour a vous tous,

j'ai un petit probl=E8me =E0 excuter un vlookup.

Bon, voila mon probl=E8me;

J'ai trois onglets je dois chercher la presence un d'un numeros qui se
trouve dans l'onglet numeros 1 dans l'onglet numeros deux et si je le
trouve je copie la ligne entiere et la coller dans l'onglet numeros 3.

j'espere que c'est claire.

Merci

10 réponses

Avatar
MichD
Bonjour,

Ta question n'est pas très claire...

A ) le numéro que tu cherches est situé OÙ ? Nom de la feuille, l'adresse de cellule
B ) Est-ce que ce numéro est numérique ou alphanumérique? Un exemple...

C ) Ce numéro est situé où dans la feuille 1? Une colonne en particulier? N'importe où dans la feuille?

D ) Si ce numéro existe en feuil1, tu veux comparer la totalité de cette ligne avec les valeurs de la ligne en feuil2 si
ce numéro existe aussi sur cette feuille ? Est-ce cela?

E ) Est-ce possible qu'il y ait plus d'un numéro en Feuil1 qui soit trouvé? Si oui, doit-on comparer toutes les lignes
de la feuil1 dont le numéro est présent avec toutes les lignes en feuil2 dont le numéro est aussi présent?

F ) Que fait-on s'il y a des doublons? On les copie tous dans la feuil3 ?


MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


Bonjour a vous tous,

j'ai un petit problème à excuter un vlookup.

Bon, voila mon problème;

J'ai trois onglets je dois chercher la presence un d'un numeros qui se
trouve dans l'onglet numeros 1 dans l'onglet numeros deux et si je le
trouve je copie la ligne entiere et la coller dans l'onglet numeros 3.

j'espere que c'est claire.

Merci
Avatar
joseph84
A- le numeros est situé à la feuil1 à la colonne A (je veux
comparaitre tout les numeros qui se trouve de la colonne A de la ligne
2 jusqu'à la fin de la colonne)
B-le numeros est en format alphanumerique ex:(BA125632)
D-je veux le comparaitre avec les numeros qui se situent à la feuille
de la colonne A de la ligne 2 si il existe je copie tout le ligne de
la feuil1 et je la colle à la feuil3
E- il n'y a pas de doublons

j'espère que mes reponses sont satisfaisantes

Merci bcp
Avatar
MichD
Essaie quelque chose comme ceci :

La ligne 1 de la colonne est réservée aux en-têtes de colonnes... à définir !

En supposant qu'il n'y ait ni doublon en colonne A de la feuil1 et de la feuil2
'------------------------------------
Sub test()
Dim Rg As Range, C As Range, NoLigne As Long
With Worksheets("Feuil1")
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
For Each C In Rg
With Worksheets("Feuil2")
With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set trouve = .Find(C, LookIn:=xlValues, LookAt:=xlWhole)
If Not trouve Is Nothing Then
With Worksheets("Feuil3")
NoLigne = .Range("A65536").End(xlUp)(2).Row
C.EntireRow.Copy .Range("A" & NoLigne)
End With
End If
End With
End With
Next
End Sub
'------------------------------------


MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


A- le numeros est situé à la feuil1 à la colonne A (je veux
comparaitre tout les numeros qui se trouve de la colonne A de la ligne
2 jusqu'à la fin de la colonne)
B-le numeros est en format alphanumerique ex:(BA125632)
D-je veux le comparaitre avec les numeros qui se situent à la feuille
de la colonne A de la ligne 2 si il existe je copie tout le ligne de
la feuil1 et je la colle à la feuil3
E- il n'y a pas de doublons

j'espère que mes reponses sont satisfaisantes

Merci bcp
Avatar
joseph84
Merci bcp, mais malheureusement sa ne fonctionne pas comme je veux,

parce que moi je met un filtre sur la feuil1 avant que j'execute le
code tu ma donne.


worksheets("Feuil1"),select

selection.AutoFilter Field:8, Criteria1:=Array("Robert", "Mathieu",
"Laurent"), Operator:= _
xlFilterValues

Dim Rg As Range, C As Range, NoLigne As Long
With Worksheets("Feuil1")
For i = 2 To 65500
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
For Each C In Rg
With Worksheets("Feuil2")
With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set trouve = .Find(C, LookIn:=xlValues, LookAt:=xlWhole)
If Not trouve Is Nothing Then
With Worksheets("Feuil3")
NoLigne = .Range("A65536").End(xlUp)(2).Row
C.EntireRow.Copy .Range("A" & NoLigne)
End With
End If
End With
End With
Next
Avatar
MichD
'----------------------------------------
Sub test()
Dim Rg As Range, C As Range, NoLigne As Long
Dim Derlig As Long, DerCol As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False

With Worksheets("Feuil1")
'Zone de critère pour le filtre élaboré
'Tu peux choisir les 2 cellules de ton choix
'à l'extérieur de ton tableau
.Range("CC1") = ""
.Range("CC2").Formula = "=Or(AL2=""Robert"",AL2=""Mathieu"",AL2=""Laurent"")"

Derlig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column

With .Range("A1", .Cells(Derlig, DerCol))
.AdvancedFilter xlFilterInPlace, Worksheets("Feuil1").Range("CC1:CC2")
End With

With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set Rg = .SpecialCells(xlCellTypeVisible)
End With
End With
For Each C In Rg
With Worksheets("Feuil2")
With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set trouve = .Find(C, LookIn:=xlValues, LookAt:=xlWhole)
If Not trouve Is Nothing Then
With Worksheets("Feuil3")
NoLigne = .Range("A65536").End(xlUp)(2).Row
C.EntireRow.Copy .Range("A" & NoLigne)
End With
End If
End With
End With
Next
With Worksheets("Feuil1")
.Range("CC1") = ""
.Range("CC2") = ""
.ShowAllData
End With
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'----------------------------------------

MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


Merci bcp, mais malheureusement sa ne fonctionne pas comme je veux,

parce que moi je met un filtre sur la feuil1 avant que j'execute le
code tu ma donne.


worksheets("Feuil1"),select

selection.AutoFilter Field:8, Criteria1:=Array("Robert", "Mathieu",
"Laurent"), Operator:= _
xlFilterValues

Dim Rg As Range, C As Range, NoLigne As Long
With Worksheets("Feuil1")
For i = 2 To 65500
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
For Each C In Rg
With Worksheets("Feuil2")
With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set trouve = .Find(C, LookIn:=xlValues, LookAt:=xlWhole)
If Not trouve Is Nothing Then
With Worksheets("Feuil3")
NoLigne = .Range("A65536").End(xlUp)(2).Row
C.EntireRow.Copy .Range("A" & NoLigne)
End With
End If
End With
End With
Next
Avatar
joseph84
Merci beaucoup sa fonctionne nickel :)

Maintenant je faire à peut pret la meme chose je m'explique:


j'ai encore trois onglet je dois verifier si dans la feuil1 il y a des
numeros (alphanumeric) qui se trouve dans la colonne A à partir de la
ligne 2 qui ne se trouve pas dans Feuil2 de la colonne A à partir de
la ligne 2 si c est le cas je copy la ligne entiere de la feuil1 et je
la colle à la feuill3 à partir de la ligne 2.

j'espere que ma question est claire.

Merci
Avatar
MichD
Est-ce qu'il y a encore des filtres sur ta feuille "Feuil1" ?



MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


Merci beaucoup sa fonctionne nickel :)

Maintenant je faire à peut pret la meme chose je m'explique:


j'ai encore trois onglet je dois verifier si dans la feuil1 il y a des
numeros (alphanumeric) qui se trouve dans la colonne A à partir de la
ligne 2 qui ne se trouve pas dans Feuil2 de la colonne A à partir de
la ligne 2 si c est le cas je copy la ligne entiere de la feuil1 et je
la colle à la feuill3 à partir de la ligne 2.

j'espere que ma question est claire.

Merci
Avatar
joseph84
non, il n y a pas de filtre dans la feuil1
Et tout cela c'est pour que je dectecte des numeros qui se trouve pas
dans la feuil1 et se trouve dans la feuil2 si oui en copie la ligne
entiere de la feuil2 et on la colle à la feuill3
Avatar
MichD
Essaie ça :

'------------------------------------
Sub test()
Dim Rg As Range, C As Range, NoLigne As Long

Application.ScreenUpdating = False
Application.EnableEvents = False

With Worksheets("Feuil2")
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With

For Each C In Rg
With Worksheets("Feuil1")
With .Range("A2:A" & .Range("A65536").End(xlUp).Row)
Set trouve = .Find(C, LookIn:=xlValues, LookAt:=xlWhole)
If trouve Is Nothing Then
With Worksheets("Feuil3")
NoLigne = .Range("A65536").End(xlUp)(2).Row
C.EntireRow.Copy .Range("A" & NoLigne)
End With
End If
End With
End With
Next
Application.ScreenUpdating = True
Application.EnableEvents = True

End Sub
'------------------------------------



MichD
--------------------------------------------
"joseph84" a écrit dans le message de groupe de discussion :


non, il n y a pas de filtre dans la feuil1
Et tout cela c'est pour que je dectecte des numeros qui se trouve pas
dans la feuil1 et se trouve dans la feuil2 si oui en copie la ligne
entiere de la feuil2 et on la colle à la feuill3
Avatar
joseph84
Merci beaucoup Michd sa fonctionne nickel crom :)