Excel algo-> vba

Sacred Messages postés 676 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
bonjour à tous
je travail sous xp pro
excel
voila ce que je veux obtenir
TQ Tableau(i).NomOrdi = Tableau(i+1).NomOrdi
....
FTQ

comment cela se traduit dans une macro pour une feuille excel?

merci pour vos rep
A voir également:

6 réponses

Sacred Messages postés 676 Date d'inscription   Statut Membre Dernière intervention   77
 
while

...
wend ça c'est bon

mais j'ai essayé : Classeur1!(i).NomOrdi mais ca marche pas
voila
0
Sacred Messages postés 676 Date d'inscription   Statut Membre Dernière intervention   77
 
en effectuant quelque recherche
j'ai fait quelque modification :
Type TableauType
NomOrdi As String
JourAppel As Integer
Mois As Integer
Heure As Date
End Type
Dim Clas() As TableauType



seulement a la ligne
While Clas(i).NomOrdi <> " "
il me met l'erreur suivante : l'indice n'appartient pas a la sélection
// en débogage le curseur sur i indique bien une valeur
0
Utilisateur anonyme
 
Salut,

Avant d'utiliser la ligne :
While Clas(i).NomOrdi <> " "

Il te faut dimensionner ton tableau.

Dim I As Integer

I = 10 ' Valeur fixe connu!
ReDim Clas(I) As TableauType

I = 1
While Clas(I).NomOrdi <> " "
.......
..I = ( I + 1 )
Wend

Lupin
0
Sacred Messages postés 676 Date d'inscription   Statut Membre Dernière intervention   77
 
pour pour ta reponse

débogage le curseur sur i indique bien une valeur

comme tu peut le voir
i (mon indice de parcours du tableau) à déja été déclarer en variable (Dim i as Integer)
et avant d'entré dans la boucle j'ai la ligne
i=2
ce que je pense c'est qu'il ne doit pas faire le lien entre class (qui est le nom de la feuille) et justement cette feuille où il y a toutes les données

par contre donnée le nombre de ligne du tableau peut etre une soluce => je vais tester

en attendant galere2 le retour :)
0
Utilisateur anonyme
 
re :


[...pour ta reponse... débogage le curseur sur i indique bien une valeur ]

Même si i indique bien une valeur, cela ne dimensionne pas ton tableau.

Cette ligne [ Dim Clas() As TableauType ] déclare la variable
tableau mais ne la dimensionne pas. Si celle-ci n'est pas
dimensionné, aucune valeur ne sera accepté en indice pour
ce tableau.

L'Instruction [ Clas(1).NomOrdi = "MonOrdi" ] ne sera jamais
accepté.

En plaçant cette ligne :
ReDim Clas(5) As TableauType

L'instruction [ Clas(1).NomOrdi = "MonOrdi" ] sera accepté.

Lupin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sacred Messages postés 676 Date d'inscription   Statut Membre Dernière intervention   77
 
entre mon post et ta rep
j'ai vu cet erreur et je l'ai dimensionné entre tps
ya plus d'erreur de compilation maintenant j'ai juste des problemes d'execution : resultat de la macro = null alors qu'il y a un resultat

ce qui manque je pense ça doit etre l'activation des cellules
ou comment la macro rentre dans le tableau (ou est le début )

mais cela ne sais pas comment le gérer j'ai vu dans l'aide la methode activate mais j'ai pas compris


0
Utilisateur anonyme
 
re :

c'est pas clair là ce que tu veux faire !

Tu veux remplir ton tableau avec le contenu de la feuille ?

Range("A1").Select

For I = 1 To 5
..Clas(I).NomOrdi = Activecell.Offset(0,0).Value
..Clas(I).JourAppel = Activecell.Offset(0,1).Value
..Clas(I).Mois = Activecell.Offset(0,2).Value
..Clas(I).Heure = Activecell.Offset(0,3).Value

..Activecell.Offset(1,0).Select ' Avance d'une ligne sur la feuille

Next I

Lupin
0