Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 sheets(" ").select

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 !

Amymone

XLDnaute Nouveau
Bonsoir le forum

Je reviens vers vous pour une demande spéciale concernant le
" Sheets("janvier").Select "
Sur un système d'exploitation Français c'est OK mais dès que je passe sous un système d'exploitation Anglais ça ne vas pas car c'est january, quel est la bonne solution?
Merci
 
Bonjour,

"Janvier", c'est le nom de la feuille.
Que tu utilises une version française ou une version anglaise d'Excel, un système d'exploitation français ou anglais, le nom de la feuille reste le même : celui qui à été défini.
 
Bonjour Amymone, Patrice33740,
Certes, mais si l'onglet est janvier et que je passe sur un système d'exploitation Anglais de facto j'aurai January est le sheets Select ne fonctionnera pas comme déjà constaté
Allons allons, la feuille "Janvier" restera toujours "Janvier".

Mais méditez sur cette macro qui fonctionne quelle que soit la langue de l'ordi :
VB:
Sub Activer_Feuille_Mois()
Dim mois, m$
mois = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
m = mois(Month(Date) - 1)
On Error Resume Next
Sheets(m).Activate
If Err Then MsgBox "La feuille '" & m & "' n'existe pas..."
End Sub
A+
 
Bonjour.
Il n'y a pas de raison à ce que les noms des feuilles changent dans un classeur quand on le fait relire par une version Excel d'une langue différente. Tout au plus y aurait-il un problème si, au lieu de le spécifier sous la forme constante que vous dites, le nom de la feuille désignée était obtenu d'après une date.
Dans ce cas le plus simple serait de la désigner plutôt d'après son numéro d'ordre positionnel.
 
Vous montrez des bouts de projets VBA différents, appartenant donc à des classeurs différents.
Mais dans les deux Worksheets(1) désignerait la 1ère feuille quelle que soit son nom.
Worksheets(Month(Date)) aussi, si on est en janvier.
Bonjour @job75
 
Non job75 c'est ce que tente de vous dire, c'est le même fichier mais dès que je bosse dessus au taf les onglets sont en Anglais car la formule est:
Private Sub Worksheet_Activate()
Me.Name = Me.Range("B4").Text
End Sub
donc le sheet("janvier").select ne fonctionne pas car la feuille est "January"
 
Ça laisse toujours la possibilité de désigner la feuille par sa position.
Oui, ou par son nom trouvé dans des listes comme ici :
VB:
Sub Activer_Feuille_Mois()
Dim mois1, mois2, m1$, m2$
mois1 = Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre")
mois2 = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")
m1 = mois1(Month(Date) - 1)
m2 = mois2(Month(Date) - 1)
On Error Resume Next
Sheets(m1).Activate
If Err Then Err = 0: Sheets(m2).Activate
If Err Then MsgBox "La feuille '" & Application.Proper(Format(Date, "mmmm")) & "' n'existe pas..."
End Sub
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…