recherche_et copie vba excel

  • Auteur de la discussion dianbobo
  • Date de début

dianbobo

Expert
bonjour a tous :)
j'ai deux tableaux sur une feuille excel
le premier contier un tableau dont une colonne a des caracteres (lettres et chiffres melanges) le second a dans la collone qui m'interesse les memes caracteristiques mais precedee d'autres caracteres donc j'aimerai prendre juste chaque element du tableau 1 dans cette colonne et le retrouver dans le second tableau comment faire ?

 

dianbobo

Expert
j'ai commence par ceci mais je me plante vraiment
j ai besoin d'aide

Code:
Sub copicol()
    Dim i As Integer ' definir i comme etant un entier
    Dim j As Integer ' comme i, j est un entier
    'ci dessous on va comparer des elements de deux tableaux
        For i = 2 To 283
            For j = 7 To 478
            Next j
        Next i
    
End Sub

j' ai envi de creer une fonction qui fait une recherche

merci de votre aide
 

zeb

Modérateur
Salut Dianbobo, :hello:
Ça faisait un moment :)

Regarde un peu ça, ça pourrait t'aider :
Code:
Sub copicol()
    Dim cel1 As Range
    Dim cel2 As Range
    
    For Each cel1 In Worksheets(1).Range("A2:A283")
        For Each cel2 In Worksheets(2).Range("A7:A478")
            If cel2.Text Like "*" & cel1.Text & "*" Then
                ' faire ici des trucs intéressants
            End If
        Next
    Next
     
End Sub
 

dianbobo

Expert
bonjour et merci de ton aide si on pouvait regarder a partir de ce que j'ai commence a faire

Java:
  Sub copiecol()
    Dim i As Integer
    Dim j As Integer
    Set ws = Worksheets("HyperPulseInventory")
     For i = 2 To 283
        For j = 7 To 478
        'on fixe i et on fait une recherche dans le vecteur 'U' si on
        'trouve le meme texte alors on copie la ligne a la colonne x sur le second tableau.
            If _
                ws.Cells(i, "c").Value = _
                 ws.Cells(j, "u").Value _
            Then
                'copie de la ligne i et la coller a la ligne j dans la colonne x
                Range("a" & i & ":l" & i).Copy _
                Range("x" & j)
                
            Else
                'nothing we're going to the next i
            End If
        Next j
        
     Next i

End Sub

malheureusement le resultat n'est pas probant.

voici les colones que je veux comparer puis ranger a la suite du tableau ''2'' a la ligne correspondante. les deux tableaux sont sur la meme feuille.
colonne 'c' a partir de la ligne 2
C-0000-NET-0006

L-AB-006924
L-AB-006887
L-AB-006925
L-AC-006894
L-AB-006919
L-AA-006922
L-AB-006580
L-AD-006553
C-0000-TON-0001
6007684
L-AA-700AG907
C-0000-CON-0001
L-AA-006847
L-AB-005454
L-AB-700AF278
L-AB-006906
L-AB-006907
700.AF.247
L-AA-005883
L-AA-012784
L-AD-012588
L-AC-006692
L-AB-003282
L-AB-003450
L-AB-010710
L-AC-006471
L-AB-005806
L-AC-006235
L-AA-006556
L-AA-006560
L-AA-006793

L-AA-006915
L-AC-006131
L-AB-006881
L-AA-006920
L-AB-006885
L-AB-006886
L-AA-006068
L-AA-002106
L-AD-005910
L-AE-006112
L-AA-010600
L-AD-000296
L-AB-000463
L-AB-002085
L-AB-002207
L-AB-002430
L-AB-002438
L-AB-002750
L-AB-003061


ci dessous colonne 'u' a partir de la ligne 7

016556
016560
005493
005610
005482
005500
005936
005962
006187
006188
005910
006112
005908
005912
006111
006118
006206
006207
006276
005502
005501
005639
005907
005918
006114
006119
009881
009570
009571
009628
006746
016573
700AV130
700AV135
700AF278
700AF204
700AF503
006746
016569
700AG907
700AB131
700AV409
010889

mon objectif, une fois ca match, je copie toute la ligne du premeier tableau et la coller a la suite dans le second tableau a la ligne correspondante.

merci bien ... ca fesait bien un bail ;)
 

dianbobo

Expert
j ai oubliie un detail important les colonnes on en commun les chiffres bien que la colonne 'c' soit precedee de lettres et de tirets dans les cellules.
 

dianbobo

Expert
bonjour ;)

j'ai pu resoudre le probleme

en fait je faisais une erreur sur la colonne , je devais prendre la 'd' au lieu de la 'c'

Code:
Sub copiecol()
    Dim i As Integer
    Dim j As Integer
    Set ws = Worksheets("HyperPulseInventory")
     For i = 2 To 283
        For j = 7 To 478
        'on fixe i et on fait une recherche dans le vecteur 'U' si on
        'trouve le meme texte alors on copie la ligne a la colonne x sur le second tableau.
            If _
                ws.Cells(i, "d").Value = _
                 ws.Cells(j, "u").Value _
            Then
                'copie de la ligne i et la coller a la ligne j dans la colonne x
                Range("a" & i & ":l" & i).Copy _
                Range("x" & j & " :AI" & j)
                
            Else
                'nothing we're going to the next i
            End If
        Next j
        
     Next i

End Sub
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 133
Messages
6 718 047
Membres
1 586 391
Dernier membre
Pasou94
Partager cette page
Haut