Merci Heureux-Oli. Je vais essayer cela et je te tiens informé.
(j'espère voir le bout du tunnel car j'ai du passer plus de 10h sur ce formulaire depuis le début de l'aventure...)
Merci Heureux-Oli. Je vais essayer cela et je te tiens informé.
(j'espère voir le bout du tunnel car j'ai du passer plus de 10h sur ce formulaire depuis le début de l'aventure...)
Ils s'instruisent pour vaincre.
Salut,
que 10 heures ?
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
bonjour,
oui que 10 heures mais c'est un formulaire très simple (schématiquement : 1 liste déroulantes + 1 champ date + 10 cases à cocher + 1 combobox + 1 listbox + 3 zones de texte + quelques macros). Le temps a principalement été passé sur l'alimentation de la combobox et de la listbox. Un pro aurait mis 10 mn
En lisant ton code corrigé, je m'aperçois que je n'en étais pas loin : j'avais juste oublié d'initialiser le compteur car je ne savais pas qu'il fallait (ni comment) le faire
Bilan de l'essai : il y a bug sur l'initialisation du compteur : erreur de compilation "impossible d'affecter à un tableau"
La section 2 comprenant la liste n'est pas sous forme de tableau, il y a-t-il un lien de cause à effet???
Ils s'instruisent pour vaincre.
Salut,
As tu changé les paramètre de Option Base ?
C'est au début du code, dans les premières lignes.
Cette ligne spécifie le premmier indice du tableau.
Si le tableau commence à 0 (zéro) (valeur par défaut), on est avec un option base 0, si le tableau commence à 1 ...
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
il n'y a aucun paramètre Option Base d'inséré dans le code.
Je viens de tester en plaçant Option base 1 et Option Base 0 placé avant Sub Userform_Initialize(), mais cela bute toujours sur le "intI = 0"
Je ne peux même pas créer un fichier simplifié avec la macro car nous sommes en Intranet ultra fermé et sécurisé et la console dédiée internet ne dispose que d'Open Office .
Ils s'instruisent pour vaincre.
Salut,
J'ai commis une erreur !
et non pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim intI As Integer 'Déclaration de la variable pour le compteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part dim intI() as integer
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Fait et je retombe alors sur l'erreur qui m'a fait craquer ce week-end : erreur 5174 "fichier introuvable etc..."
Ils s'instruisent pour vaincre.
Je te propose de poster mon fichier Word ce soir (une version simplifiée avec la listbox, le champ texte, le USF et les macros).
Ils s'instruisent pour vaincre.
Voici mon fichier simplifié, je n'ai laissé que le bouton et le champ à remplir. Les données sont sur la section 2.
Edit : lorsque j'ouvre le fichier en pièce jointe, cela fonctionne. Si je l'enregistre sur mon PC et que je l'ouvre à nouveau, cela ne fonctionne pas : une nouvelle fenêtre Word vide s'ouvre et puis plus rien.
Ils s'instruisent pour vaincre.
Salut,
Logique.
Le nom de ton fichier est dans ton cpde, si tu changes le nom ou la localisation, Word ne le trouve plus.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Sub userForm_Initialize() Dim oDoc As Document Dim oSec As Section Dim oPar As Paragraph Dim tblListe() As String Dim tblTemp() As String Dim i As Integer Set oDoc = ActiveDocument Set oSec = ActiveDocument.Sections(2) i = 0 ReDim tblListe(oDoc.Paragraphs.Count, 1) For Each oPar In oSec.Range.Paragraphs Debug.Print oPar.Range.Characters(2) tblTemp() = Split(oPar.Range.Text, -1) tblListe(i, 0) = tblTemp(0) i = i + 1 Next oPar Me.ListBox1.List = tblListe Set oSec = Nothing 'oDoc.Close Set oDoc = Nothing End Sub
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA
Mes articles
Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Aussi simple que l’œuf de Christophe Colomb!
Cela fonctionne sans souci maintenant. Merci pour tes lumières et surtout tes explications qui m'ont permis de mieux comprendre ce que je recopie .
Je marque donc comme résolu
Ils s'instruisent pour vaincre.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager