[VBA] Récupération variable pour créer tablo
Résolu/Fermé
Dog killer
-
28 mai 2007 à 09:36
Dog killer Messages postés 57 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 12 juin 2007 - 29 mai 2007 à 15:33
Dog killer Messages postés 57 Date d'inscription lundi 28 mai 2007 Statut Membre Dernière intervention 12 juin 2007 - 29 mai 2007 à 15:33
Bonjour, ma question est:
Récupérer la valeur d'une variable dans une feuille excel dans le but de créer un tableau avec un nombre de colonne correspondant à la variable:
Variable:
Nbre_colonne_tableau
dans [vba]:
Dim Tbl(Nbre_colonne_tableau;1 To 4)
Merci de vos réponses...
Récupérer la valeur d'une variable dans une feuille excel dans le but de créer un tableau avec un nombre de colonne correspondant à la variable:
Variable:
Nbre_colonne_tableau
dans [vba]:
Dim Tbl(Nbre_colonne_tableau;1 To 4)
Merci de vos réponses...
A voir également:
- [VBA] Récupération variable pour créer tablo
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
6 réponses
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
28 mai 2007 à 09:51
28 mai 2007 à 09:51
bonjour,
quand est-ce que la variable Nbre_colonne_tableau est initialisée !!
ta déclaration devrait être..
dans [vba]:
Dim Tbl()
dim Nbre_colonne_tableau as integer
Après que la variable Nbre_colonne_tableau a été initialisée
dans la Sub qui l'emploi mettre
Sub(XX)
redim Tbl(Nbre_colonne_tableau;1 To 4)
..
..
End sub
ou fonction.
'-----------------------------------
Solution 2
const Nbre_colonne_tableau =xx (le nombre de colonne)
dim Tbl(Nbre_colonne_tableau;1 To 4)
A+
louis
quand est-ce que la variable Nbre_colonne_tableau est initialisée !!
ta déclaration devrait être..
dans [vba]:
Dim Tbl()
dim Nbre_colonne_tableau as integer
Après que la variable Nbre_colonne_tableau a été initialisée
dans la Sub qui l'emploi mettre
Sub(XX)
redim Tbl(Nbre_colonne_tableau;1 To 4)
..
..
End sub
ou fonction.
'-----------------------------------
Solution 2
const Nbre_colonne_tableau =xx (le nombre de colonne)
dim Tbl(Nbre_colonne_tableau;1 To 4)
A+
louis
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
183
28 mai 2007 à 09:53
28 mai 2007 à 09:53
Salut,
d'abord, ne pas oublier que le premier paramètre correspond au nombre de lignes de ton tableau, alors soit ta variable porte un nom peu approprié, soit il faut la mettre en deuxième paramètre.
Ensuite, il est préférable de définir un type de données pour ton tableau, par exemple, si celui-ci contient des entiers, tu peux mettre:
Dim Tbl(3; Nbre_colonne_tableau - 1) As Integer
Tu obtiendras donc un tableau de 4 lignes, Nbre_colonne_tableau colonnes, et contenant des entiers...
d'abord, ne pas oublier que le premier paramètre correspond au nombre de lignes de ton tableau, alors soit ta variable porte un nom peu approprié, soit il faut la mettre en deuxième paramètre.
Ensuite, il est préférable de définir un type de données pour ton tableau, par exemple, si celui-ci contient des entiers, tu peux mettre:
Dim Tbl(3; Nbre_colonne_tableau - 1) As Integer
Tu obtiendras donc un tableau de 4 lignes, Nbre_colonne_tableau colonnes, et contenant des entiers...
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
28 mai 2007 à 13:09
28 mai 2007 à 13:09
D'après ton post voila ce que j'ai tapé:
Sheets("TEST").Select
Range("B1").Select
Dim Tbl(3, Nbr_ajout_colonne) As Integer
Qaund je test ça me donne une erreur: erreur de compilation constante requise et Nbr_ajout_colonne est en surligné !!!
cela signifie que Nbr_ajout_colonne n'est pas initialisé ???
si oui , comment l'initialisé ?
Merci de votre patience a tous !!!
(vive les boulet en VBa)!
Sheets("TEST").Select
Range("B1").Select
Dim Tbl(3, Nbr_ajout_colonne) As Integer
Qaund je test ça me donne une erreur: erreur de compilation constante requise et Nbr_ajout_colonne est en surligné !!!
cela signifie que Nbr_ajout_colonne n'est pas initialisé ???
si oui , comment l'initialisé ?
Merci de votre patience a tous !!!
(vive les boulet en VBa)!
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
183
>
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
28 mai 2007 à 13:44
28 mai 2007 à 13:44
Non, le problème c'est qu'il n'est apparement pas possible de mettre une variable dans la définition d'un tableau, donc je pense que le mieux dans ton cas c'est simplement de le définir dynamiquement en mettant simplement Dim Tbl() As Integer et ensuite si tu veux faire varier sa taille dans une procédure, éventuellement en conservant son contenu intact, tu pourras utiliser des instructions du type:
ReDim Preserve Tbl(UBound(Tbl) + 1)
Bon courage !
ReDim Preserve Tbl(UBound(Tbl) + 1)
Bon courage !
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
>
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
28 mai 2007 à 13:47
28 mai 2007 à 13:47
Je vais essayer de faire comme tu dis !!!
Merci baucoup !!!!!
bonne continuation !
Ps: je cloture le post
Merci baucoup !!!!!
bonne continuation !
Ps: je cloture le post
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
>
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
29 mai 2007 à 13:50
29 mai 2007 à 13:50
Re: Je n'ai finalement pas réeussi xjl désolé !!!!
Je crois que je vais reformuler ma demande plus précisement :
Je souhaite créer un tableau (avec contour a chaque cellule) avec 4 lignes et X colonnes où X est une variable que je récupère dans une cellule d'une autre feuille du classeur.
Je crois que je vais reformuler ma demande plus précisement :
Je souhaite créer un tableau (avec contour a chaque cellule) avec 4 lignes et X colonnes où X est une variable que je récupère dans une cellule d'une autre feuille du classeur.
re:
je ne sais pas ce qu'est initialisé ???
merci en tout cas je vais essayer tout de suite vos solution!
Au plaisir!
je ne sais pas ce qu'est initialisé ???
merci en tout cas je vais essayer tout de suite vos solution!
Au plaisir!
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
28 mai 2007 à 14:42
28 mai 2007 à 14:42
Bonjour,
ben non ça ne marche pas ; avec la solution de xjl je n'est pas de message d'erreur dans VBA mais quand j'exécute la macro je n'obtien qu'un déplacement dans une autre cellule sans création de mon tableau !!!!
Aidez moi !!! snif!
Merci :)
ben non ça ne marche pas ; avec la solution de xjl je n'est pas de message d'erreur dans VBA mais quand j'exécute la macro je n'obtien qu'un déplacement dans une autre cellule sans création de mon tableau !!!!
Aidez moi !!! snif!
Merci :)
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
183
28 mai 2007 à 14:48
28 mai 2007 à 14:48
Sauf que tu n'as jamais demandé à ce qu'il t'affiche un tableau, t'as demandé à ce qu'il te le crée, donc le tableau existe virtuellement, mais il n'est visible nulle part !!
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
>
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
28 mai 2007 à 14:50
28 mai 2007 à 14:50
lol :) grossière erreur de ma part !!!! je suis désolé !!!
donc il y a une fonction différente pour faire achicher le tableau ?
Merci
donc il y a une fonction différente pour faire achicher le tableau ?
Merci
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
183
>
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
28 mai 2007 à 15:09
28 mai 2007 à 15:09
En fait ce que tu veux c'est simplement que la macro t'affiche des bordures et éventuellement te remplisse les cellules à l'intérieur avec des données qu'elle irait chercher ailleurs si j'ai bien compris, ça n'a donc rien à voir avec la création de ce qui est appellé tableau de données ou de variables dans vba... Cherches plutôt dans ce sens là, je ne crois pas pouvoir t'aider beaucoup plus...
xjl
Messages postés
232
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
12 juin 2007
183
>
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
28 mai 2007 à 15:24
28 mai 2007 à 15:24
Si ça peut t'aider...
Sub tableau()
With Sheets(Sheets.Count).Range("A1:E10").Borders
.Color = 50
.LineStyle = xlSolid
.Weight = xlThin
End With
Sheets(Sheets.Count).Range("A1:E10").BorderAround ColorIndex:=3, Weight:=xlThick, LineStyle:=xlSolid
End Sub
Sub tableau()
With Sheets(Sheets.Count).Range("A1:E10").Borders
.Color = 50
.LineStyle = xlSolid
.Weight = xlThin
End With
Sheets(Sheets.Count).Range("A1:E10").BorderAround ColorIndex:=3, Weight:=xlThick, LineStyle:=xlSolid
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
28 mai 2007 à 15:34
28 mai 2007 à 15:34
merci beaucoup!!!
Dog killer
Messages postés
57
Date d'inscription
lundi 28 mai 2007
Statut
Membre
Dernière intervention
12 juin 2007
25
29 mai 2007 à 15:33
29 mai 2007 à 15:33
je me suis mal exprimer lors de ma demande .
je relance une nouveau post plus précis :
vba select plage de 4 lignes et x colonnes
merci a tous : )
je relance une nouveau post plus précis :
vba select plage de 4 lignes et x colonnes
merci a tous : )