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

Code Array Nom Worksheet

  • Initiateur de la discussion Initiateur de la discussion JFLord
  • Date de début Date de début

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 !

J

JFLord

Guest
Bonjour,

J'ai construit mon code et j'ai un problème avec un array pour le nom des worksheet et je ne comprends pas pourquoi ca bloque.

Le code suivant a été épuré mais devrait faire l'affaire pour démontratio.


Code:
Sub comparatifcoll()
Dim collaWB As Workbook

Workbooks.Open Filename:="L:\Home\colla.XLS", UpdateLinks:=False, ReadOnly:=True
Set collaWB = Workbooks("colla.XLS")

Dim OngletArray(5) As String
    OngletArray(0) = "NHL"
    OngletArray(1) = "NBC"
    OngletArray(2) = "TSN"
    OngletArray(3) = "RSN"
    OngletArray(4) = "RDS"

for i=0 to 5

    collaWB.Worksheets(OngletArray(i)).Activate
    With Range([A1], [BA100].End(xlUp))
        Set Suspend = .Find("SunArray(i)", LookIn:=xlValues)
        Suspend2 = Range(Suspend).Offset(1, 0).Value
    End with

next i

end sub


Les noms de l'Array correspondent au nom des onglets mais la fonction de worksheet ne les reconnait pas. Quelqu'un pourrait m'aider la dessus?

Merci beaucoup
JF
 
Re : Code Array Nom Worksheet

Bonsoir JFLord,

Peut-être comme ça, en supprimant les guillemets autour de SunArray(I)
Code:
Option Explicit
Sub comparatifcoll()
  Dim collaWB As Workbook
  Dim OngletArray() As String
  Dim I As Integer
  Workbooks.Open Filename:="L:\Home\colla.XLS", UpdateLinks:=False, ReadOnly:=True
  Set collaWB = Workbooks("colla.XLS")
  ' Définir le tableau des feuilles
  OngletArray = Split("NHL,NBC,TSN,RSN,RDS", ",")
  ' Pour chaque feuille
  For I = 0 To 5
    collaWB.Worksheets(OngletArray(I)).Activate
    With Range([A1], [BA100].End(xlUp))
      Set Suspend = .Find(SunArray(I), LookIn:=xlValues)
      Suspend2 = Range(Suspend).Offset(1, 0).Value
    End With
  Next I
End Sub
J'ai également modifié ta façon d'attibuer le nom de tes feuilles au tableau 😉

A+
 
Re : Code Array Nom Worksheet

salut 🙂

on peut aussi ecrire le split comme ceci :

For Each c In Split("NHL,NBC,TSN,RSN,RDS", ",")

puis ecrire : collaWB.Worksheets(c).Activate

hein ? quoi ? qu'est ce que je fous là ?
ben j'aide, non ?
ok, je sors

a plus
😱
 
Re : Code Array Nom Worksheet

La partie avec SunArray fonctionne très bien... C'est mon Array de Soleil 😉

En passant les noms des onglets sont fictif. Désolé pour ceux que je décois 😛
 
Re : Code Array Nom Worksheet

J'ai essayé la nouvelle méthode... mais ca bloque encore à la même ligne...

collaWB.Worksheets(OngletArray(i)).Activate

ceci est la ligne problématique et je crois surtout que c'est le «worksheets» qui cause le problème.
 
Re : Code Array Nom Worksheet

J'ai trouvé mon problème. En fait, c'est très stupide. La raison de l'erreure est que je fermais le fichier correspondant à collaWB avant même de me rendre à cette section du code. Il ne reconnaissait pas la fonction. Maintenant que ce petit bug est réparé, la macro roule à merveille. Merci quand meme de votre aide
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
912
Réponses
2
Affichages
1 K
Réponses
8
Affichages
1 K
L
  • Question Question
Réponses
1
Affichages
1 K
lovell3
L
L
Réponses
7
Affichages
1 K
C
Réponses
2
Affichages
2 K
C
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…