Excel algo-> vba

Sacred Messages postés 679 Statut Membre -  
 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
--
wait worry who cares?

6 réponses

  1. Sacred Messages postés 679 Statut Membre 77
     
    while

    ...
    wend ça c'est bon

    mais j'ai essayé : Classeur1!(i).NomOrdi mais ca marche pas
    voila
    0
  2. Sacred Messages postés 679 Statut Membre 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
  3. 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
    1. Sacred Messages postés 679 Statut Membre 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Sacred Messages postés 679 Statut Membre 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
  7. 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