Option Explicit
Sub F_molecule()
'On doit déclarer les variables utilisées dans la procédure
'Range ==> cellule ou plage de cellules
'Long ==> numérique Nombre entier de - 2'147'483'648 à 2'147'483'647
'Integer ==>numérique Nombre entier de -32'768 à 32'767 (si tu es sûr que tu n'auras pas plus de 32 767 lignes)
    Dim plg As Range, DerLig As Long, DerCol As Long, plgMol As Range
    Dim Cel As Range, Air As Range, cl As Long
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    With Sheets("information")    'signifie qu'on travaille avec la feuille "information"
        'étant donné que la derniere ligne non vide des colonnes n'est pas la même
        'on recherche la derniere ligne non vide de la plage courante à la cellule A1
        'avec la igne de code ci-dessous
        DerLig = .Range("A1").CurrentRegion.Find("*", , , , xlByRows, xlPrevious).Row
        'on récupère la dernière colonne non vide de la ligne 1 (ligne de code ci-dessous)
        DerCol = .Cells(1, .Cells.Columns.Count).End(xlToLeft).Column
        'on définit la plage "plg" où l'on va rechercher les molécules
        Set plg = .Range(.Cells(1, 2), .Cells(DerLig, DerCol))
    End With    'fin de travail avec la feuille "information
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    With Sheets("classement")
        'on définit la plage "plgMol"
        Set plgMol = .Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
    End With
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'boucle for each sur toutes les cellules de la plage plgMol
    For Each Cel In plgMol
        If Cel <> "" Then    'si la cellule concernée n'est pas vide (juste par précaution qu'il y ait ces cellues vides)
            'on définit la variable Air (cellule) que l'on veut trouver dans plage plg
            Set Air = plg.Find(Cel, LookAt:=xlWhole)
            If Not Air Is Nothing Then    'si on la trouve
                cl = Air.Column    'on récupère le numero de colonne
                'on repporte dans la cellule décaler d'une colonne soit colonne B
                Cel.Offset(0, 1) = Sheets("information").Cells(1, cl).Value
            End If
        End If
    Next Cel
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'vidage des variables
    Set plgMol = Nothing
    Set Air = Nothing
    Set plg = Nothing
End Sub