nom de variable incrémentant

nom de variable incrémentant - VB/VBA/VBS - Programmation

Marsh Posté le 16-11-2006 à 10:15:07    

bonjour,
voila je me remets au VB!
 bon voici mon soucis, un petit peu plus haut, j'ouvre un classeur appelé "classeur1" et contenant des feuilles. je compte le nombre de feuilles qu'il contient avec nombre_feuilles = Worksheets.Count et là tt va bien. Au préalable, j'ai marqué ceci
 
Windows("classeur1" & ".xls" ).Activate
 
1er problème:
 
si je marque onglet1 = Feuil1.Name, il me renvoie le nom de la feuil1 sur lequel j'ai ma macro et non pas la feuil1 du classeur activé précédement
 
2ème problème
 
comment faire pour:
 
for i=1 to nombre_feuilles
onglet"i"=feuil"i".name      'onglet"i" serait une ou plusieurs variables...
end if
 
bon bien entendu ce que j'ai écris est faux et je doûte qu'il faille procéder ainsi (même si j'aimerais bien loool).
J'aurais besoin de vous pour régler ce petit soucis
merci

Reply

Marsh Posté le 16-11-2006 à 10:15:07   

Reply

Marsh Posté le 16-11-2006 à 11:51:44    

salut,
 
pour le nom de la première feuille fait sheets(1).name pour le 2ème remplace le 1 par ton i que tu incémentes

Reply

Marsh Posté le 16-11-2006 à 12:07:43    

Bonjour,
 
pour le workbook:
workbooks("classeur1" ).activate
et pour onglet:
 
dim onglet() as string
.
.
.
redim onglet(nombre_feuilles)
.
.
onglet(i)=.......
devrait faire l'affaire
Cordialement

Message cité 1 fois
Message édité par seniorpapou le 16-11-2006 à 12:10:51
Reply

Marsh Posté le 16-11-2006 à 12:10:20    

nikel
merci

Reply

Marsh Posté le 16-11-2006 à 12:11:33    

J'ai fait un edit du post

Reply

Marsh Posté le 16-11-2006 à 14:04:40    

seniorpapou a écrit :

Bonjour,
 
pour le workbook:
workbooks("classeur1" ).activate
et pour onglet:
 
dim onglet() as string
.
.
.
redim onglet(nombre_feuilles)
.
.
onglet(i)=.......
devrait faire l'affaire
Cordialement


 
 
 
 
 
tu veux dire que tu fais une redim dans la boucle en question??

Reply

Marsh Posté le 16-11-2006 à 14:11:06    

car en fait  ça (continuation du programme...)
 
Private Sub UserForm_Initialize()
Dim ComboBox() As String
Windows("macro" & ".xls" ).Activate
Sheets(2).Select
nombre_colonnes = (Range("IV1" ).End(xlToLeft).Column)
nombre_lignes = (Range("A65535" ).End(xlUp).Row)
For i = 1 To nombre_lignes
For j = 2 To nombre_colonnes
'Dim ComboBox(i) As String
x = Cells(i, j).Value
ComboBox().AddItem x
Next j
Next i
End Sub
 
 
et je veux ranger des infos dans différents combobox. mais comment les selectionner...?!

Reply

Marsh Posté le 16-11-2006 à 15:41:09    

Bonjour,
non, le redim juste après avoir calculé le nombre de feuilles, avant la boucle
Cordialement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed