Récupération des données

Bonjour,

J'essaie de récupérer les noms des feuilles dans une colonnes (Personnel1, Personnel2, ..., Personneln).

Puis je veux récupérer dans la colonne suivante une donnée sauvegardée dans une cellule (A1 par exemple) selon le nom de la cellule (et donc selon le nom de chaque feuille).

Ci-joint un fichier exemple, pour mieux clarifier ma demande.

Merci beaucoup pour votre temps.

Bonne journée.

6classeur1.xlsx (13.29 Ko)

Bonjour Hajjej

Voici un petit code qui pourrait vous aider

Sub MiseAJour()
  Dim nLig As Long
  Dim Sht As Worksheet
  With Sheets("recap")
    ' Effacer le contenu des lignes
    nLig = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("A2:B" & nLig).ClearContents
    ' Pour chaque feuille du classeur
    For Each Sht In ThisWorkbook.Sheets
      If Sht.Name <> "recap" Then
        ' Dernière ligne remplie du conteneur "recap"
        nLig = .Range("A" & Rows.Count).End(xlUp).Row + 1
        ' Inscrire le nom de la feuille
        .Range("A" & nLig).Value = Sht.Name
        ' Inscrire la formule
        .Range("B" & nLig).FormulaLocal = "=INDIRECT(A" & nLig & "&""!A1"")"
      End If
    Next Sht
  End With
End Sub

Ainsi que le fichier

En espérant que cela vous convienne

A+

Bonjour BrunoM45,

C'est exactement ça, sauf un petit soucis, lorsqu'une feuille contient un ou plusieurs espace, ça donne #REF (Exemple : à la place du "Personnel1" je vais mettre "Nom Prénom").

Merci.

Re,

Il faut alors changer la formule par

.Range("B" & nLig).FormulaLocal = "=INDIRECT(""'""&A" & nLig & "&""'!A1"")"

Ce qui donne

=INDIRECT("'"A2&"'!A1")

On ajoute un apostrophe devant et après le nom

A+

Merci infiniment <3

Rechercher des sujets similaires à "recuperation donnees"