Bonjour, je suis actuellement bloqué sur cette question.
Je reçois un onglet vrac que je mets dans un tableau structuré situé sur un autre onglet
Je dois donc chercher la valeur de la première ligne de la première colonne du tableau structuré dans la première colonne de l'onglet en vrac.
Une fois la valeur trouvé je dois vérifier que la valeur de la seconde colonne de l'onglet vrac est bien aussi égale à celle de la seconde colonne du tableau structuré.
Si c'est bien le cas je copie la valeur de la cellule de la 3e colonne de la ligne identifiée du fichier vrac dans la 3e colonne de la ligne identifiée du tableau structuré.
Si la valeur de la 2e colonne ne correspond pas, alors je cherche l'occurrence suivante de la première ligne du tableau structuré dans l'onglet vrac et ainsi de suite.
Une fois la ligne trouvée ou inexistante, je continue avec la seconde ligne du tableau structuré et ainsi de suite jusqu'à la fin du tableau structuré.
j'ai testé un code mais il ne semble pas fonctionner je vous le mets malgré tout, au cas ou cela pourrait vous aider.
Le fichier original est un fichier contenant des informations confidentielles. J'ai donc créé un fichier test qui a le même principe pour que vous puissiez l'utiliser si nécessaire. Je pense que je devrais pouvoir adapter votre code à mon cas.
Merci par avance pour votre aide.
Bonne journée
Je reçois un onglet vrac que je mets dans un tableau structuré situé sur un autre onglet
Je dois donc chercher la valeur de la première ligne de la première colonne du tableau structuré dans la première colonne de l'onglet en vrac.
Une fois la valeur trouvé je dois vérifier que la valeur de la seconde colonne de l'onglet vrac est bien aussi égale à celle de la seconde colonne du tableau structuré.
Si c'est bien le cas je copie la valeur de la cellule de la 3e colonne de la ligne identifiée du fichier vrac dans la 3e colonne de la ligne identifiée du tableau structuré.
Si la valeur de la 2e colonne ne correspond pas, alors je cherche l'occurrence suivante de la première ligne du tableau structuré dans l'onglet vrac et ainsi de suite.
Une fois la ligne trouvée ou inexistante, je continue avec la seconde ligne du tableau structuré et ainsi de suite jusqu'à la fin du tableau structuré.
j'ai testé un code mais il ne semble pas fonctionner je vous le mets malgré tout, au cas ou cela pourrait vous aider.
VB:
Sub test()
Dim CD As Workbook 'déclare la variable CD (Classeur Destination)
Dim OD As Worksheet 'déclare la variable OD (Onglet Destination)
Dim OS As Worksheet 'déclare la variable OS (Onglet Source)
Dim TSD As ListObject 'déclare la variable TSD (Tableau Structuré de destination)
Set CS = ThisWorkbook 'Ouvre l'URL du classeur source en ligne
Set OD = CS.Worksheets("Tableau") 'définit l'onglet destination OD
Set OS = CS.Worksheets("Vrac") 'définit l'onglet source OS
Set TSD = OD.ListObjects("FUP") 'définit le tableau structuré de destination
Dim NbRows As Long 'déclare la variable NbRows (nombre de ligne du fichier source)
Dim i As Integer 'déclare la variable i (ligne en cours de test)
Dim LE As Integer
Dim ZL As String 'déclare une variable de valeur de cellule
Dim c As Range
OS.Activate
NbRows = OS.Range("B" & Rows.Count).End(xlUp).Row
For i = 2 To NbRows 'Boucle qui parcours les lignes
Set c = TSD.ListColumns("Nom").DataBodyRange.Find(OS.Cells(i, 1).Value)
If Not c Is Nothing And TSD.ListColumns("Nom").DataBodyRange(LE) = OS.Cells(i, 2).Value Then
LE = c.Row
ZL = OS.Cells(i, 3).Value 'défini ZL (Valeur de la cellule "Date de transport prévue (SRDC)" de ligne i)
TSD.ListColumns("age").DataBodyRange(LE) = ZL 'donne la valeur à la cellule "Auto ETD" du TSD de la ligne correspondant au numéro de VOR de ligne en cours i
Else
Set c = TSD.ListColumns("Nom").DataBodyRange.FindNext(c)
End If 'fin de alcondition Then 'si aucune occurrence n'est trouvée ou si TSD ne contient pas encore de ligne
Next i 'passe à la ligne suivante de la boucle
End Sub 'fin de la macro
Le fichier original est un fichier contenant des informations confidentielles. J'ai donc créé un fichier test qui a le même principe pour que vous puissiez l'utiliser si nécessaire. Je pense que je devrais pouvoir adapter votre code à mon cas.
Merci par avance pour votre aide.
Bonne journée
Pièces jointes
Dernière édition: