[Catégorie modifiée VB6 - VBA] Excel et VBA - Userform et n° de ligne + noms

Signaler
Messages postés
4
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
31 mai 2010
-
Messages postés
7569
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
-
Bonjour,

j'espère ne pas m'être trompé de catégorie, je programme actuellement sous excel et VBA et j'aurais 2 problèmes à vous exposé, pour lesquels j'espère obtenir de l'aide ;)

premièrement j'ai un userform ( visible ici : http://img269.imageshack.us/img269/6785/captureps.png )

l'utilisateur selectionne un élement dans la listbox Pays de départ, une nouvelle liste lui est alors proposée dans la listbox PV_HD. A sa droite se trouve un Label ( ici label 6 ).

Je voudrais une fois les infos remplies, pouvoir utiliser ces infos, et notamment PV_HD. Mes données sont dans un tableau, à raison d'un élément par ligne, donc chaque élément correspond à un numéro de ligne ). Or, afin de réutilisé mes données sous excel après la saisie des données sous le userform, j'aurais besoin ( à l'aide du label ou pas ) d'obtenir le numéro de la ligne dans laquelle il se trouve.
J'ai essayé avec des .Value, .CollumCount, .ListCount etc mais sans succés..

Et deuxièmement, j'ai nommé beaucoup de cellule dans ma partie Excel, je voudrais récupéré cette liste de noms et leur adressage ( X_Ct=Feuil1!$A$7 ) sous forme de texte, que je puisse facilement m'en servir lors de la rédaction de mon dossier plutôt que de taper le nom et son adressage ( car je dois en avoir une centaine alors bon...).
Je n'ai pas trouvé de manip sous Excel, en existe-il une en VBA ?

Merci beaucoup d'avance,
bonne journée

7 réponses

Messages postés
7569
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
127
Bonjour,
Si les données sont dans une listBox c'est:

Label6.Caption = listbox PV_HD.Value



@+
Messages postés
7569
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
127
Si c'est le numéro de ligne c'est :
Label6.Caption = listbox PV_HD.ListIndex


En sachant que le 1er élement de la liste est 0
@+
Messages postés
4
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
31 mai 2010

Merci pour votre réponse, mais cet "formule" me renvoie le contenu de la listbox. Je voudrais qu'elle me renvoie le numéro de la ligne du tableau sous Excel dans laquelle se trouve ce que j'ai selectionné dans ma listbox.
Messages postés
4
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
31 mai 2010

Ah, avec la listindex, peut être vais-je y arriver ! je crois que j'ai une idée ! Merci bien !

Une idée pour les noms ?
Messages postés
7569
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
127
Pour avoir le N° de ligne si elle se trouve dans la colonne A par ex:

Private Sub listbox PV_HD_Change()
Label6.Caption = "A" & listbox PV_HD.ListIndex + 1
End Sub

+1 parceque l'index commence à 0 et les lignes du classeur à 1
Pour la 2ème question je n'ai pas compris!
@+ Le Pivert
Messages postés
4
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
31 mai 2010

Merci bien Pivert, grace à votre réponse précédente j'ai pu faire ma programmation.

Pour les noms, j'ai nommé mes cellules sous excel, et j'ai donc environ 100 noms. je cherche à récupérer la liste de ces noms et leur cellules affectées ( exple : X_Ct=Feuil1!$A$7 ) pour pouvoir les utiliser sous word par exemple. Je n'ai pas trouvé de manip sous Excel alors je me demandais si il en existait une en VBA.

Bonne soirée
Messages postés
7569
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2021
127
Voici une macro qui met le texte saisit sur la feuille Excel dans un document Word.Mettre le chemin du document Word et saisir Dans A1, A2, A3 et A4 pour exemple.

Sub texte_excel()
Dim oWord As Word.Application
    'Créer une instance de word
   Set oWord = CreateObject("Word.Application")
    oWord.Documents.Open "Chemin du fichier.doc"
    oWord.ShowMe
    'rendre le document word visible
    oWord.Visible = True
    'sélection
     oWord.Selection.TypeText Text:=[A1]
     oWord.Selection.TypeParagraph
     oWord.Selection.TypeText Text:=[A2]
     oWord.Selection.TypeParagraph
     oWord.Selection.TypeText Text:=[A3]
     oWord.Selection.TypeParagraph
     oWord.Selection.TypeText Text:=[A4]
End Sub


A vous de l'adapter suivant vos besoins
@+ Le Pivert