J'ai le code mais un truc simple cloche

Bonsoir,

Je suis arrivée à trouver mon code mais il y a un truc qui ne va pas.

Le but :

Prendre les codes dans Feuil2

Trouver la correspondance un par un

Quand il trouve la correspondance il copie les ligne 4 à 35 et les colle dans la colonne du code trouvé dans feuil2 de la ligne 7 à 38.

Si vous voulez d'autre precisions n'hesiter pas

PS: le code est déja dans la feuille lancé le pour voir le probleme

encore merci

7test-vba.xlsm (26.33 Ko)

Bonsoir

Sauf erreur, et si j'ai bien compris

il faudrait mettre

j-3 à la place de j

Worksheets("Feuil1").Cells(7, i).Value = Worksheets("Feuil2").Cells(4, j - 3).Value

Worksheets("Feuil1").Cells(8, i).Value = Worksheets("Feuil2").Cells(5, j - 3).Value

Worksheets("Feuil1").Cells(9, i).Value = Worksheets("Feuil2").Cells(6, j - 3).Value

Worksheets("Feuil1").Cells(10, i).Value = Worksheets("Feuil2").Cells(7, j - 3).Value

Worksheets("Feuil1").Cells(11, i).Value = Worksheets("Feuil2").Cells(8, j - 3).Value

Worksheets("Feuil1").Cells(12, i).Value = Worksheets("Feuil2").Cells(9, j - 3).Value

Worksheets("Feuil1").Cells(13, i).Value = Worksheets("Feuil2").Cells(10, j - 3).Value

Worksheets("Feuil1").Cells(14, i).Value = Worksheets("Feuil2").Cells(11, j - 3).Value

Worksheets("Feuil1").Cells(15, i).Value = Worksheets("Feuil2").Cells(12, j - 3).Value

Worksheets("Feuil1").Cells(16, i).Value = Worksheets("Feuil2").Cells(12, j - 3).Value

Worksheets("Feuil1").Cells(17, i).Value = Worksheets("Feuil2").Cells(13, j - 3).Value

Worksheets("Feuil1").Cells(18, i).Value = Worksheets("Feuil2").Cells(14, j - 3).Value

Worksheets("Feuil1").Cells(19, i).Value = Worksheets("Feuil2").Cells(15, j - 3).Value

Worksheets("Feuil1").Cells(20, i).Value = Worksheets("Feuil2").Cells(16, j - 3).Value

Worksheets("Feuil1").Cells(21, i).Value = Worksheets("Feuil2").Cells(17, j - 3).Value

Worksheets("Feuil1").Cells(22, i).Value = Worksheets("Feuil2").Cells(18, j - 3).Value

6test-vba.xlsm (33.55 Ko)

JE SUIS DESOLE !!!!!!!!!!!!!

Merci pour ton retour mais en fait il doit afficher les données que dans la colonne ou il y a le code. Par exemple il prend le code 986

qu'on retrouve dans la feuil 1 il le cherche dans la feuil2 puis il copie les données CAD dans notre cas :

9372

435

436

437

438

439

440

441

442

443

444

445

446

447

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

Je joint le doc corrigé Vraiment désolé

8test-vba.xlsm (26.25 Ko)

Pas de réponse ?

Bonsoir le fil, bonsoir le forum,

Si j'ai bien compris, ce code devrait convenir :

Sub Macro1()
Dim F1 As Worksheet 'déclare la variable F1 (onglet Feuil1)
Dim F2 As Worksheet 'déclare la variable F5 (onglet Feuil2)
Dim DC As Integer 'déclare la variable DC (Dernière Colonne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim COD As String 'déclare la variable COD (CODe)
Dim COL As Integer 'déclare la variable COL (COLonne)
Dim R As Range 'déclare la variable R (Recherche)

Set F1 = Sheets("Feuil1") 'définit l'onglet F1
Set F2 = Sheets("Feuil2") 'définit l'onglet F2
'définit la dernière colonne éditée DL de la ligne 2 de l'onglet F1
DC = F1.Cells(2, Application.Columns.Count).End(xlToLeft).Column
For I = 2 To DC 'boucle sut toutes les colonnes de 2 à DC
    If F1.Cells(2, I).Value <> "" Then 'condition : si la cellule ligne 2 colonne I n'est pas vide
        COD = CStr(F1.Cells(2, I).Value) 'définit le code COD (la valeur de la cellule convertie en texte)
        COL = I 'définit la colonne COL
        'définit la recherche R (recherche dans la ligne 2 de l'onglet F2 la valeur entière de COD)
        Set R = F2.Rows(2).Find(COD, , xlValues, xlWhole)
        If Not R Is Nothing Then 'condition 2 : si il existe au moins une occurrence trouvée
            'copie les données sous l'occurrence trouvée dans la cellule liogne 6 colonne COL de l'onglet F1
            R.Offset(2, 0).Resize(29, 1).Copy F1.Cells(6, COL)
        End If 'fin de la condition 2
    End If 'fin de la condition 1
Next I 'prochaine colonne de la boucle
End Sub

Salut

essayer avec ca

Private Sub up()

Dim i As Integer
Dim j As Integer
Dim T

 i = 196
'For i = 3 To 196

With Worksheets("Feuil1")
For j = 3 To 84

        Set T = Worksheets("Feuil1").Range(.Cells(2, 3), .Cells(2, i)).Find(Worksheets("Feuil2").Cells(2, j).Value)

                 If Not T Is Nothing Then
Worksheets("Feuil1").Cells(7, T.Column).Value = Worksheets("Feuil2").Cells(4, j).Value
Worksheets("Feuil1").Cells(8, T.Column).Value = Worksheets("Feuil2").Cells(5, j).Value
Worksheets("Feuil1").Cells(9, T.Column).Value = Worksheets("Feuil2").Cells(6, j).Value
Worksheets("Feuil1").Cells(10, T.Column).Value = Worksheets("Feuil2").Cells(7, j).Value
Worksheets("Feuil1").Cells(11, T.Column).Value = Worksheets("Feuil2").Cells(8, j).Value
Worksheets("Feuil1").Cells(12, T.Column).Value = Worksheets("Feuil2").Cells(9, j).Value
Worksheets("Feuil1").Cells(13, T.Column).Value = Worksheets("Feuil2").Cells(10, j).Value
Worksheets("Feuil1").Cells(14, T.Column).Value = Worksheets("Feuil2").Cells(11, j).Value
Worksheets("Feuil1").Cells(15, T.Column).Value = Worksheets("Feuil2").Cells(12, j).Value ' is that right
Worksheets("Feuil1").Cells(16, T.Column).Value = Worksheets("Feuil2").Cells(12, j).Value ' is that right
Worksheets("Feuil1").Cells(17, T.Column).Value = Worksheets("Feuil2").Cells(13, j).Value
Worksheets("Feuil1").Cells(18, T.Column).Value = Worksheets("Feuil2").Cells(14, j).Value
Worksheets("Feuil1").Cells(19, T.Column).Value = Worksheets("Feuil2").Cells(15, j).Value
Worksheets("Feuil1").Cells(20, T.Column).Value = Worksheets("Feuil2").Cells(16, j).Value
Worksheets("Feuil1").Cells(21, T.Column).Value = Worksheets("Feuil2").Cells(17, j).Value
Worksheets("Feuil1").Cells(22, T.Column).Value = Worksheets("Feuil2").Cells(18, j).Value

                 End If

Next
End With
End Sub

MEEEEEEEEEEEEEEEERCI !!

J'avais perdu espoir!!!!!!

Le code de Thau tème a marché

celui de Amir presque !!

Merci a vous !!!!!!!!!!!!!!!!

donc c'étais pas aussi simple que ça

Rechercher des sujets similaires à "code truc simple cloche"