Accéder a un feuille d'un classeur

Bonjour ,

Je voudrais selectionner des donnéesdans une feuille precise d'un classeur excel .Pour cela j'ai mit les noms des feuilles du classeur dans un tableau dans la première feuille du classeur .Dans mon tableau feuil2 est en ligne 2 colonne 5

Don au lieu d'avoir

a = Worksheets("feuil2").Range("L17").Value - Worksheets("feuil2").Range("F17").Value
 

J'ai donc écrit

Dim c As string

c= Worksheets("feuill1").cells(2,5).Value

a = Worksheets("c").Range("L17").Value - Worksheets("c").Range("F17").Value

Mais j'ai un message d'erreur au niveau de a auriez vous une idée?

Je joins un classeur à titre d'exemple

Cordialement ,

7test.xlsx (10.19 Ko)

Bonjour,

Je pense que ça fonctionnera mieux comme ç. Là dans votre code vous appelez la feuille nommée "c" et pas la feuille dont le nom est le contenu de la variable c :

Sub SOUSTRACTION()
Dim c$, a%
c = Worksheets("feuil1").Cells(4, 5)
a = Worksheets(c).Range("L17") - Worksheets(c).Range("F17")
End Sub

Cdlt,

Edit : de plus dans votre exemple, mettez bien Feuil1, Feuil2, Feuil3 et pas feuille1 etc ... VBA est sensible à la casse sauf précision contraire.

Edit 2 : Dans votre exemple toujours, Feuil2 est en E4, donc .cells(4, 5). Il n'est pas obligatoire de préciser .value car c'est la propriété par défaut de l'objet range ou cells.

Merci pour ton retour ,

Impeccable

Cordialement ,

Bonjour ,

Je voudrai accéder au chemin de classeur qui se trouve dans la colonne E de ma feuille .Ouvrir les classeurs,copier les données et ensuite refermer le classeur .

Sub transfert()
Dim WB()
Dim WS_I As Worksheet
Dim contrip$
Dim i As Integer
Dim n As Integer
Dim p As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False

For p = 4 To 9

contribp = Worksheets("Run").Range("Ep")

WB = Array(contribp)
Set WS_I = ThisWorkbook.Worksheets("Feuil4")
For i = 0 To UBound(WB)
    Workbooks.Open Filename:=ThisWorkbook.Path & "\" & WB(i) & ".xlsx"
    ActiveWorkbook.ActiveSheet.Cells.Copy
    WS_I.Cells.PasteSpecial Paste:=xlPasteAll, SkipBlanks:=True 'skipblanc permettra de ne pas écraser les cellules avec valeur par des cellules sans valeur'

Next i

Workbooks(contribp).Close SaveChanges:=False

Next p

Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

J'avoue totalement c'est un beaucoup de bricolage ,du coup ça ne fonctionne pas .Comment ouvrir les classeur à la suite de façon correcte et surtout les refermer également à la suite de façon correcte .

Encore merci pour tout vos retours ,ce n'est pas encore ça mais je l'assure je progresse

Cordialement

Bonjour,

Quelques règles d'usages par rapport au forum afin d'optimiser les chances d'avoir une réponse adaptée :

- Un sujet est souvent associé à une problématique initiale, ça permet de plus simplement s'y retrouver, pour vous, pour moi, mais également pour tous les lecteurs de ce post
- Lorsqu'un sujet est résolu il faut le passer en résolu et éviter de le rouvrir, sauf si lié à la problématique initiale

- Lier un fichier représentatif anonymisé à votre nouveau sujet

Cdlt,

Edit : Surtout quand on le repost ici.

Rechercher des sujets similaires à "acceder feuille classeur"