Microsoft 365 Nom d'onglet comme variable

Eric-ATI

XLDnaute Nouveau
Bonjour

En fait je ne trouve pas la fonction ou une syntaxe qui permette d'utiliser un nom d'onglet comme variable contenu dans un champs

exemple
j'ai un onglet "synthèse"
2 onglets "source1" et "source2" (en fait j'en ai en réalité 90)

sur la ligne 1 de "synthèse" je souhaite rappatrier des valeurs de l'onglet "source1" via la fonction recherchev(
sur la ligne 2 de "synthèse" je souhaite rappatrier des valeurs de l'onglet "source2" via la fonction recherchev(

exemple dans "synthèse" --> =RECHERCHEV([a1;Source1!$A:$W;20;FAUX)

je cherche à variabiliser la chaine "Source1"

C'est probablement une évidence mais je sèche...

Merci de votre aide
 

Jacky67

XLDnaute Barbatruc
Bonjour

En fait je ne trouve pas la fonction ou une syntaxe qui permette d'utiliser un nom d'onglet comme variable contenu dans un champs

exemple
sur la ligne 1 de "synthèse" je souhaite rappatrier des valeurs de l'onglet "source1" via la fonction recherchev(
sur la ligne 2 de "synthèse" je souhaite rappatrier des valeurs de l'onglet "source2" via la fonction recherchev(
Merci de votre aide
Bonjour ,
La formule pourrait ressembler à ceci
Code:
=RECHERCHEV(A1;INDIRECT("'Source"&LIGNE()&"'!$A:$W");20;0)
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Eric-ATI, et bienvenu sur XLD,
Sans fichier test, on ne peut que supputer.
Par exemple vous pourriez faire :
VB:
Sub Essai()
    With Sheets("Synthèse")
        For N = 1 To 90     ' Pour les feuille Source1 à Source90
            .Cells(N, 2) = Application.VLookup(.Cells(N, 1), Sheets("Source" & N).Range("A:W"), 20, False)
        Next N
    End With
End Sub
En supposant que la valeur cherchée est en colonne A et la cellule résultat est en colonne B
 

Eric-ATI

XLDnaute Nouveau
Bonjour Eric-ATI, et bienvenu sur XLD,
Sans fichier test, on ne peut que supputer.
Par exemple vous pourriez faire :
VB:
Sub Essai()
    With Sheets("Synthèse")
        For N = 1 To 90     ' Pour les feuille Source1 à Source90
            .Cells(N, 2) = Application.VLookup(.Cells(N, 1), Sheets("Source" & N).Range("A:W"), 20, False)
        Next N
    End With
End Sub
En supposant que la valeur cherchée est en colonne A et la cellule résultat est en colonne B
Bonjour ,
Le formule pourrait ressembler à ceci
Code:
=RECHERCHEV(A1;INDIRECT("'Source"&LIGNE()&"'!$A:$W");20;0)
Top pour ta réponse... j'avais un problème de syntaxe
ça fonctionne merci
 

Eric-ATI

XLDnaute Nouveau
Bonjour Eric-ATI, et bienvenu sur XLD,
Sans fichier test, on ne peut que supputer.
Par exemple vous pourriez faire :
VB:
Sub Essai()
    With Sheets("Synthèse")
        For N = 1 To 90     ' Pour les feuille Source1 à Source90
            .Cells(N, 2) = Application.VLookup(.Cells(N, 1), Sheets("Source" & N).Range("A:W"), 20, False)
        Next N
    End With
End Sub
En supposant que la valeur cherchée est en colonne A et la cellule résultat est en colonne B
Merci je vais tester en VBA
 

Discussions similaires