Word Excel Vb pour un nul....
Hors ligneCdurootsman Le 24/04/2009 à 01:16 Profil de Cdurootsman Configuration de Cdurootsman

Tout d'abord bonjour tout le monde, je suis un tout nouveau dans la programation puisque je viens de me décider à m'y intérresser. Je vous remercie donc tous d'avance pour l'aide que vous pourrez m'apporter.

Mon problème est le suivant, j'ai un fichier Word pour chacun de mes clients (nom, adresse, ect...), je voudrais remplir une combobox a partir d'un fichier Excel dans lequel il y a une liste de mot dans une seule et meme colone et le soucis c'est que je ne connais absolument aucun code, même si j'en devine quelques un...

Par la suite je voudrais insérer 2 cases options. En gros j'en aurais une pour "la vente" et une autre pour "la location", et je voudrais que en cliquant sur une de ces case un texte (qui pourrait être tiré d'un autre fichier word) apparaisse. Sachant que les 2 cases option peuvent être coché en meme temps et que les 2 textes (celui qui correspond a la vente et celui pour la location) se mettent a la suite l'un de l'autre.

Mon but n'est pas que fassiez le travails a ma place, mais bien que je comprenne comment tout cela fonctionne de façon a pouvoir y reproduire par moi meme. N'hésitez à expliquer comme si j'été un enfant de  5 ans.
Voila j'éspère avoir était clair. Si vous avez des questions demandez moi. En espérant que ca soit pas trop compliquer, même si je suis sur qu'il a plein de petit génie de la programation qui traine dans le coin.
Merci a tous
Hors ligneWilder Le 24/04/2009 à 20:42 Profil de Wilder Configuration de Wilder

Viconaute Modérateur
Bonjour Cdurootsman,

Pour commencer, tu peux créer un fichier Excel et nommer la cellule A1 par exemple: MOTS

Ensuite, à partir de la cellule A2 en descendant, tu mets les mots que tu veux.

Maintenant, pour coder ton UserForm1 avec ton ComboBox1, quand tu cliques dans ton userform, tu choisis
l'option Initialize  après avoir placé ton ComboBox dans ton UserForm.

Introduis ce code ensuite.

Private Sub UserForm_Initialize()

With Sheets("nom de ta feuille")
For i = 2 To .Range("a65000").End(xlUp).Row
If .Cells(i, 1) <> .Cells(i - 1, 1) Then
ComboBox1.AddItem .Cells(i, 1).Value
End If
Next
End With


End Sub


Donne-moi des nouvelles.

wilder
--


Hors ligneCdurootsman Le 24/04/2009 à 21:52 Profil de Cdurootsman Configuration de Cdurootsman

Merci beaucoup Wilder de t'être intérressé a ce sujet.
En fait ma combobox se trouve sur word, mais ma liste dans un fichier excel. Il faudrait que la combobox de word lise le fichier excel.
Merci encore de m'aidé^^
Hors ligneWilder Le 25/04/2009 à 00:04 Profil de Wilder Configuration de Wilder

Viconaute Modérateur
Ah ok, désolé.

Voici une façon de faire:


Private Sub UserForm_Initialize()
Dim xlAppList As Excel.Application
Dim MyWorkbook As Excel.Workbook

ExcelFile = "C:\Documents and Settings\xxxxx\Desktop\ton fichier.xls"   'Endroit ou est le fichier excel
    Table = "Feuil1" 'nom de la feuille
    Set xlAppList = CreateObject("Excel.Application")
    Set MyWorkbook = xlAppList.Workbooks.Open(ExcelFile, 0, , , "")
    
    MyWorkbook.sheets(Table).Select
    For Each c In ActiveSheet.Range("A1", "A" & Trim(Str(cells(65535, 1).End(xlUp).Row)))
          
       UserForm1.ComboBox1.AddItem sheets(Table).cells(c.Row, 1)
    Next
      
    MyWorkbook.Close savechanges:=True
    Set xlAppList = Nothing
    Set MyWorkbook = Nothing
End Sub


N'oublie pas d'ajouter Microsoft Excel X,0 Objet Librairy dans les références du projet Word, sinon, ça ne marchera pas. Pour ça, tu vas dans Outil et ensuite Référence.

Donne-moi des nouvelles.

wilder
--


Hors ligneCdurootsman Le 25/04/2009 à 11:57 Profil de Cdurootsman Configuration de Cdurootsman

Voila, j'ai essayé mais ma combobox reste toujours vide, j'ai bien rajouté le "Microsoft Excel X,0 Objet Librairy ".
Pour cette ligne:
For Each c In ActiveSheet.Range("A1", "A" & Trim(Str(cells(65535, 1).End(xlUp).Row)))
Le deuxième A dans la paranthèse c'est bien la où finissent mes données? par exemple "A1","A7"??
Et sinon tout les termes en rouges dans ce que ty m'as donné c'est des termes a modifier?
Merci en tout cas, c'est super sympa de ta part.
Hors ligneWilder Le 25/04/2009 à 14:13 Profil de Wilder Configuration de Wilder

Viconaute Modérateur
Dans ce code:

For Each c In ActiveSheet.Range("A1", "A" & Trim(Str(cells(65535, 1).End(xlUp).Row)))
Le premier A1, représente à partir de ou il commence la sélection de ton menu. Le A qui suis, représente le dernier mot inscrit dans cette colonne. Donc ton menu sera entre ces 2 points de repère. N'ajoute pas de numéro au 2e A.

Maintenant, tu dois modifier 2 choses:


ExcelFile = "C:\Documents and Settings\xxxxx\Desktop\t<span style="color:#000080">on fichier.xls"</span>   'Endroit ou est le fichier Excel
donc cette partie du code va ouvrir ton fichier Excel afin de remplir ton combobox. Pour cela, tu dois inscrire l'endroit où se trouve ton fichier Excel suivi du nom de ton fichier.

Ensuit il y a:


Table = "Feuil1" 'nom de la feuille
Cette partie du code représente le nom de la feuille de ton fichier Excel. Remplace Feuil1 par le nom de ta feuille.

Petite question, quelle version as-tu de Microsoft Office? 2003 ou 2007?
J'ai testé sur 2003 et ça fonctionne. Je n'ai pas testé sur 2007.

wilder
--


Hors ligneCdurootsman Le 26/04/2009 à 20:07 Profil de Cdurootsman Configuration de Cdurootsman

Salut et merci encore Wilder pour toute l'aide que tu me donnes.
J'ai un pack office 2003.
Ca ne marche toujours pas, je pense que ton code est bon (surtout si tu l'as essayé!) mais je dois avoir un problème de paramètrage, quelque chose qui manque, mais aucune idée de ce que ça peut etre. Je vais essayer de chercher et je te tient au courant.
A++++
Hors ligneWilder Le 26/04/2009 à 20:41 Profil de Wilder Configuration de Wilder

Viconaute Modérateur
Envoie-moi ton fichier Word et Excel par courriel.

Je vais pouvoir t'aider.


wilder
--


Hors ligneWilder Le 26/04/2009 à 22:06 Profil de Wilder Configuration de Wilder

Viconaute Modérateur
Je t'ai envoyé ton fichier Excel avec un fichier Word ou tu trouveras un userform avec un combobox.

Donne-moi de tes nouvelles.

wilder
--


Hors ligneCdurootsman Le 26/04/2009 à 22:59 Profil de Cdurootsman Configuration de Cdurootsman

Merci Wilder, pour ton aide et le temps que tu as pris pour moi.
Maintenant tout marche!!
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels