Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Sub Macro25()
Range("E1").Select
ActiveCell.FormulaR1C1 = "='[test onglets0 2011.xls]Récapitulatif'!R1C5"
Range("E2").Select
End Sub
Je cherche à modifier le nom de la feuille (Récapitulatif) par Feuil1.Name:
Code:
Sub Macro25()
Range("E1").Select
ActiveCell.FormulaR1C1 = "='[test onglets0 2011.xls]Feuil1.Name'!R1C5"
Range("E2").Select
End Sub
Mais cela ne fonctionne pas, j'y ai mis des parenthèses, rien de mieux
pouvez-vous m'aider?
De plus, y-a-t-il moyen de remplacer, dans le code, le chiffre 2011 par une valeur d'une cellule donnée? Je m'explique avec mes mots:
[test onglets0 valeur de la cellule A1.xls]
Explication: j'avais oublié le "s" à "Worksheets" et "Worksheet" n'est en effet ni une propriété ni une méthode d'un objet Workbook, vu qu'un classeur possède une collection de feuilles et non une feuille. Désolé pour le désagrément.
Pour me faire pardonner je vous donne ceci à installer dans un module normal à nommer "Divers" ou "Utilit" (j'en ai presque toujours un dans mes classeurs):
VB:
Function NomFeui(Optional ByVal NumFeui As Long = 0)
Dim Clas As Workbook, Feui As Worksheet, PlAp As Range
Set PlAp = Application.Caller: Set Feui = PlAp.Worksheet: Set Clas = Feui.Parent
If NumFeui > 0 Then Set Feui = Clas.Worksheets(NumFeui)
NomFeui = Feui.Name
End Function
cette fonction répond à votre deuxième question et peut être utilisée dans une formule.
=NomFeui() : - donne le nom de la feuille contenant la formule.
=NomFeui(N) : - donne le nom de la Nième feuille de calcul du classeur contenant la formule.
Attention à la première frappe: la casse n'est pas sensible mais hélas conservée et difficile à rectifier par la suite.
Cordialement.
et là, lors de l'activation de la macro, message d'erreur: erreur de compilation, variable non définie.--->et " (Feuil2.Name) " est surligné en jaune.
je fais quelques essais pour tâcher de trouver la cause:
-j'ai supprimé une à une toutes les macros de classeur
-j'ai inscrit la valeur en cells(2, 1) manuellement vu qu'elle s'inscrit par liaison
-j'ai renommé l'onglet de la Feuil2 manuellement vu qu'elle s'inscrit par liaison
toujours le même problème
par contre, je change le " Worksheets(Feuil2.Name) " par " Worksheets(2) " (emplacement de l'onglet sur sa ligne) et là, la macro me donne entière satisfaction.
Bonjour.
Je suis fondé à penser que dans votre classeur destination il ny a pas de feuille dont le nom VBA est "Feuil2". Vérifiez dans l'explorateur de projet.
À+
si si mon bon monsieur, il y a bien une "Feuil2" dans le classeur destinataire de la macro,
la macro fonctionne très bien sur les fichier déposés sur le forum parce que il y a deux feuilles "récapitulatif" (1x sur test onglet0, et 1x sur test onglet2). Mais si tu veux essayer, change le nom de l'onglet "récapitulatif" du classeur "test onglet2" et lance la macro, ça coince.
Tu peux retrouver la suite de la discussion à cette adresse:
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD