bonjour à tous, je rencontre une petite difficulté sur une macro.
Voila ce que je cherche à faire :
j'ai un workbook composé de trois feuilles nommés general, azerty et sauvegarde
J'essaye de récupérer la fraction non irréductible de la cellule E21 (par exemple 4/12) de la feuille azerty et de la mettre dans la cellule D3 de la feuille General

cependant je m'aperçois que j'arrive à le faire avec le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Sub essai()
 
Sheets("General").Select
Range("D3").Select
ActiveCell.FormulaR1C1 = "=azerty!R[18]C[1]"
 
End Sub
En vrai je ne connais pas directement le nom de la feuille, ce nom est enregistré dans la cellule A1 de la feuille sauvegarde ( dans la cellule A1 il y a donc la chaine de caractère azerty), ainsi je souhaite récupérer le nom de cette feuille et puis de refaire la même procédure.

cela me donne le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Sub essai()
 
Dim a As String
a = Sheets("sauvegarde").Range("A1").Value
Sheets("General").Select
Range("D3").Select
ActiveCell.FormulaR1C1 = "=Sheets(a)!R[18]C[1]"
 
End Sub
Le problème c'est qu'avec ce code vba ne comprends pas que j'active la feuille azerty par le code Sheets(a) et je ne comprends pas pourquoi.