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

remplissage variable vide

  • Initiateur de la discussion Initiateur de la discussion portillo
  • 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 !

portillo

XLDnaute Junior
bonjour forum!! eh oui je suis là à nouveau!!! alors j'ai un probleme car j'ai des variables dans mon code qui restent vides meme si j'ai deja afecte une valeur!! et je ne sais pas comment faire, j'ai essayé de donner d'autres valeurs et rien et quand je lance ma macro j'ai un erreur d'execution 13!! voila mon probleme. Je vous mets lla ligne de mon ncode !
Private Sub UserForm_Initialize()
Dim Point(1 To 961)
Set tw = Me.MonArbre
[BDALGE].Sort key1:=[BDALGE].Cells(1, 7), key2:=[BDALGE].Cells(1, 5)
n = [BDALGE].Rows.Count
Base = [BDALGE]
tw.Nodes.Add(, , "NoeudInit", "PROJET ALGER").Expanded = True 'Racine Arbre: Projet'
i = 1
Do While Range("pere")(i) <> ""
tw.Nodes.Add("NoeudInit", tvwChild, "NoeudPoint" & Base(i, 2), Base(i, 2)).Expanded = True
mpere = Range("pere")(i)
Do While Range("pere")(i) = mpere
i = i + 1
Loop
register = Range("fils")(i - 1)
hierarchie mpere, register
Loop

End Sub
Sub hierarchie(Box, register)
Dim nomregister As String
nomregister = Application.VLookup(register, [BDALGE], 2, False)
n = [BDALGE].Rows.Count
Base = [BDALGE]
tw.Nodes.Add("NoeudPoint" & Box, tvwChild, "NoeudMat" & register, nomregister).Expanded = True
vfils pere
End Sub

Tout ce qui est en rouge reste vide!!!!!!
merci
 
Re : remplissage variable vide

bon hasco, je t'envoi à nouveau mon fichier avec de registers differents, la colonne E n'est pas importante pour le moment, j'ai change la key et bon là j'obtien le debut de mon arboreescence!!!! pas le reste!! ohlla la vraiment je suis vraiment enerve!! alors pour le truc de Base=[BDALGE] comme je suis un debutant debutant j'ai le mis comme ça car j'ai le vu dans un autre exemple. bon merci
 
Re : remplissage variable vide

Portillo,

A partir des données que tu m'a fournies et de ce que j'ai pu comprendre je te joins ton fichier modifié avec un exemple simple de boucle.

J'espère que tu la comprendras et que tu pourras l'adapter.

Il faut que ton fichier soit trié sur la deuxième colonne

A bientôt
 
Re : remplissage variable vide

Portillo,

Une petite erreur de conception de boucle faisait qu'il manquait un fils aux branches de l'arbre.

voici le code corrigé pour l'exemple que je t'ai donné, avec un prime un exemple de gestion de l'évènement 'MonArbre_NodeClick':

Code:
Private Sub MonArbre_NodeClick(ByVal Node As MSComctlLib.Node)
    If Not Node.parent Is Nothing Then
        indicematricule = Sheets("ALGE").Cells(Range(Node.Key).Row, 7)
    End If
End Sub
Private Sub UserForm_Initialize()
    Dim Pere As String
    Dim c As Range
    Dim DerLignes As Long
    Dim i As Long
    DerLignes = Sheets("ALGE").Range("B65536").End(xlDown).Row
    'Ce placer sur la première ligne
    Set c = Range("BDALGE")(1, 2)
    Do
       'L'ajouter en tant que Pere
        Pere = c.Text
        MonArbre.Nodes.Add , , Pere, Pere
 
       ' mais aussi en tant que fils (premier numéro de register)
        AjouteFils Pere, c
       
       ' se positionner à la ligne suivante         
        Set c = c.Offset(1)
        Do
           'Si c'est un fils on l'ajoute
            if c.text=Pere then 
               AjouteFils Pere, c
               Set c = c.Offset(1)
            else 
               exit do 'sinon sortir de la boucle
            end if
       Loop While c.Text = Pere 'Boucler tant qu'on est sur le même pere
    Loop While Not c.Text = "" 'boucler jusqu'à la première cellule vide
End Sub
 
Sub AjouteFils(Pere As String, cellule As Range)
    Fils = cellule.Offset(, 1)
    On Error Resume Next
    MonArbre.Nodes.Add Pere, tvwChild, cellule.Offset(, 1).Address, cellule.Offset(, 1).Text
End Sub

Bonne Soirée.
 
Re : remplissage variable vide

Bonsoir Hasco!! je te remercie de ton aide, je vais essayer de comprendre et adapter ton code à mon fichier. Merci beaucoup j'espere que demain tu seras là!!!!!!

bon soirée!!
 
Re : remplissage variable vide

Salut Hasco merc beaucoup pour ton aide, ça m'a aidé beaucoup, alors aujourd'hui j'essaye de creer un autre niveau mais pour diferencier mes peres j'ai mis des couleurs car tout les donneées sont dans la meme colonne, alors que il se peut que dans la meme colonne il y ait des donnees qui n'ont pas de fils et autres oui!!! est ce que c'est possible de faire une reference à partir d'un couleur ? merci de ton temps passée à mon probleme et surtout pour tes connaissances!!!!!!!!!!
 
Re : remplissage variable vide

Bonjour Portillo,

Pour faire référence à la couleur de fond d'une cellule:

Dim idxCouleur as integer

idxCouleur=ActiveCell.Interior.ColorIndex 'Couleur de fond de la cellule active

Bon courage
 
Re : remplissage variable vide

Hasco merci, merci et encore merci!!!! merci à cet forum aussi!!! alors je vais essayer d'ajouter la reference couleur et je te dirais si c'est bon. Grace à toi je comprends mieux comment ça marche et en plus je pu voir enfin mon arborescence!!!!

Bon soiree!!!!! et Bon WK

portillo
 
- 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

Discussions similaires

Réponses
15
Affichages
790
Réponses
12
Affichages
995
Réponses
2
Affichages
892
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…