Macro avec références numéros des feuilles

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous et très bon dimanche,

j'aimerai pouvoir utiliser les numéros des feuilles comme références dans mes macros afin de ne pas avoir à les modifier en cas de changement de nom.

Exemple :

If Sheets("OF1").Range("C1") = Sheets("CAL").Range("E1").Value Then
Sheets("CAL").Select
End If

deviendrait : (dans mon classeur, OFI correspond à "Feuil37" et CAL à "Feuil13")

If Sheets("Feuil37").Range("C1") = Sheets("Feuil13").Range("E1").Value Then
Sheets("Feuil13").Select
End If

j'essaie mais ça ne marche pas et je ne vois pas où est l'erreur,

Pourriez-vous m'éclairer ?
Merci d'avance,
Amicalement,
Lionel,
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Macro avec références numéros des feuilles

Bonjour Lionel,

fais un essai sans les guillemets
If Sheets("Feuil37").Range("C1") = Sheets("Feuil13").Range("E1").Value Then
Sheets("Feuil13").Select

à+
Philippe
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro avec références numéros des feuilles

Re et à tous,

j'ai essayé de plusieurs manières :

If Sheets(37).Range("C1") = Sheets(13).Range("E1").Value Then Sheets(13).Select

avec guillement et sans,
avec (Sheets37) avec feuil et d'autres .... rien à faire

Merci à toi,
Amicalement,
Lionel,
 

Papou-net

XLDnaute Barbatruc
Re : Macro avec références numéros des feuilles

Bonjour Lionel, Philippe, le Forum,

Pourquoi se compliquer l'existence avec des choses simples comme :

Code:
If Feuil37.Range("C1") = Feuil13.Range("E1").Value Then Feuil13.Select
Feuil13 et Feuil37 sont les CodeName définis par Excel. Ils sont immuables, et ce quel que soit le nom des onglets ou la position de ceux-ci.

Cordialement.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro avec références numéros des feuilles

Bonjour Papou-net et à tous,

Effectivement, ça marche et cela semble simple (pour toi LOL),
Mais quand on est nul en VBA et pas réveillé du samedi soir..... c'est autre chose LOL
Un grand merci à toi et à Philippe,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro avec références numéros des feuilles

Re-bonjour à tous,

Suite à votre aide, j'ai changé "joyeusement" tous les noms de feuilles dans mes macros en numéros de feuilles.
Tou marche bien ou presque ......
ça bute sur le tri :

Rows("2:10000").Select
ActiveWorkbook.WorkFeuil2.Sort.SortFields.Clear
ActiveWorkbook.WorkFeuil2.Sort.SortFields.Add Key:=Range("D2:D10000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.WorkFeuil2.Sort
.SetRange Range("A2:p10000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

j'ai essayé de modifier sans succès.
Pourriez-vous m'aider ?
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro avec références numéros des feuilles

Re-bonjour à tous,

J'ai trouvé (en partie) la solution à mon problème de tri.

Mais ça "plante" sur un tri :
Tri.jpg

Pourtant, tous mes autres tris sont identiques pour les lignes exemple :

Rows("2:10000").Select
ActiveWorkbook.Worksheets(2).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(2).Sort.SortFields.Add Key:=Range("A2:A10000"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(2).Sort
.SetRange Range("A2:p10000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

J'ai beau chercher, je ne trouve pas l'erreur,
Merci de votre aide,
Amicalement,
Lionel,
 

Pièces jointes

  • Tri.jpg
    Tri.jpg
    64.3 KB · Affichages: 85
  • Tri.jpg
    Tri.jpg
    64.3 KB · Affichages: 79
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Macro avec références numéros des feuilles

Re et à tous,

Oui, elle existe bien (enfin elle est mentionnée dans la photo jointe)
Je cherche encore,
Cordialement,

Attention, quand je demande si elle existe, je veux dire par là que c'est bien le 14ème onglet dans le classeur. Car je ne vois pas pourquoi ça marche avec les autres feuilles et pas celle-ci, d'autant que tu ne précise pas le type du message d'erreur.

On gagnerait du temps si tu joignais une copie de ton fichier, sans données confidentielles bien entendu.

A +

Cordialement.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re : Macro avec références numéros des feuilles

C'est vrai !

Je joins le classeur tel qu'il est et quand il est ouvert, tu cliques sur "Recap" dans la feuille OF1, au dessus la cellule "F4"
Encore merci de ton intérêt,
Cordialement,
Lionel,
 

Pièces jointes

  • Matrice suivi RebutsTest.zip
    914.1 KB · Affichages: 58

Papou-net

XLDnaute Barbatruc
Re : Macro avec références numéros des feuilles

RE :

Alors là, mystère!

J'ai testé et ça marche sans erreur.

J'ai bien remarqué qu'au démarrage du fichier, il ne comporte que 13 feuilles. J'ai donc pensé que le problème se situait à ce niveau mais comme ta macro opère des créations de feuilles avant de faire appel à la 14ème, ce n'est pas ça.

Je vais continuer à y regarder mais j'avoue ne pas être certain de mettre le doigt sur l'origine. Quel est le message d'erreur que tu obtiens, et dans quel module se situe la macro en question?

A +

Cordialement.
 

sourcier08

XLDnaute Occasionnel
Re : Macro avec références numéros des feuilles

Salut à tous,

À mon avis le problème vient de feuilles qu'il veut sélectionner sans les afficher (feuilles masquées).
Il faudrait peut-être revoir le code afin d'afficher les feuilles avant de les "sélectionner".

Sheets(2).visible = true
Sheets(2).select
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 239
Messages
2 086 503
Membres
103 236
dernier inscrit
Menni