Problème Access et Excel
Résolu
gaudian
Messages postés
62
Date d'inscription
Statut
Membre
Dernière intervention
-
khalido_ccm Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
khalido_ccm Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vais vous expliquer mon problème. Je travaille sous VB 6.0 avec une base Access.
Mon objectif est à partir de ma base Access afficher les informations contenues dans cette base sur une feuille Excel tout marche sauf pour 3 colonnes.
Mes 3 dernières colonnes ont des champs de type "Mémo" sous Access, il affiche le contenu du champ sur plusieurs lignes, la première se met correctement dans ma colonne N et les autres valeurs du champ se mettent sous la colonne A, je les voudrais :
soit sur une seule ligne,
soit sur plusieurs lignes mais sur la même colonne (colonne N dans mon exemple)
Merci à vous
Je vais vous expliquer mon problème. Je travaille sous VB 6.0 avec une base Access.
Mon objectif est à partir de ma base Access afficher les informations contenues dans cette base sur une feuille Excel tout marche sauf pour 3 colonnes.
Mes 3 dernières colonnes ont des champs de type "Mémo" sous Access, il affiche le contenu du champ sur plusieurs lignes, la première se met correctement dans ma colonne N et les autres valeurs du champ se mettent sous la colonne A, je les voudrais :
soit sur une seule ligne,
soit sur plusieurs lignes mais sur la même colonne (colonne N dans mon exemple)
Merci à vous
A voir également:
- Problème Access et Excel
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et excel - Guide
- Déplacer colonne excel - Guide
- Excel moyenne - Guide
2 réponses
Je te passe une idée qui m'a servi tellement :
Ouvre une nouvelle macro sous Excel, fait manuellement tout ce que tu vx.
Tape Alt + F11 pour voir l'éditeur VB, dans le dossier modules ouvre module1.
Tu trouvera une procédure de la macro créée.Et là tu as tout le code que peut t'aider énormément dans votre application VB, il suffit de le paramétrer un peu.
Bonne chance.
Ouvre une nouvelle macro sous Excel, fait manuellement tout ce que tu vx.
Tape Alt + F11 pour voir l'éditeur VB, dans le dossier modules ouvre module1.
Tu trouvera une procédure de la macro créée.Et là tu as tout le code que peut t'aider énormément dans votre application VB, il suffit de le paramétrer un peu.
Bonne chance.
En fait, mon code marche et ma mise en page fonctionne, cela vient je pense de ma BDD car mes 3 dernières colonnes sont du type "Mémo".
Je prend un exemple j'ai une colonne qui s'intitule MATCONF, ce champ contient plusieurs lignes comme ci-dessous :
MatConf:
Commentaire 1
Commentaire 2
Commentaire 3
Si j'enleve le retour à la ligne (Commentaire1Commentaire2Commentaire3) cela fonctionne correctement, voici mon bout de code qui fonctionne sans le retour à la ligne.
Si quelqu'un peut m'en dire plus
Je prend un exemple j'ai une colonne qui s'intitule MATCONF, ce champ contient plusieurs lignes comme ci-dessous :
MatConf:
Commentaire 1
Commentaire 2
Commentaire 3
Si j'enleve le retour à la ligne (Commentaire1Commentaire2Commentaire3) cela fonctionne correctement, voici mon bout de code qui fonctionne sans le retour à la ligne.
Chaine = Chr(34) & Trim(Data1.Recordset.Fields("Famille")) & """;" & """" & Trim(Data1.Recordset.Fields("IdentArt")) & """;" & """" & Trim(Data1.Recordset.Fields(("MatConf")))
Si quelqu'un peut m'en dire plus
Voilà approximativement ce que je fais moi :
'---------------------
Dim ApplExcel As Excel.Application
Dim WBExcel As Excel.Workbook
Dim WSExcelAs Excel.Worksheet
Set ApplExcel = New Excel.Application 'on crée une nouvelle app Excel
Set WBExcel = objXL.Workbooks.Add 'On lui ajoute un classeur
Set WSExcelAs = objWB.Worksheets(1) 'On sélectionne la feuille 1
for i=0 to rs1.recordcount
'-------On charge le s1ers chams ds la feuille Excel
WSExcelAs .Cells(i, 9) = rs2![Descripción]= Trim(Data1.Recordset.Fields(("MatConf"))) '9 =>colonne N
rs1.movenext
next
'--------------------
De cette façon je contrôle bien les cellules de ma feuille
'---------------------
Dim ApplExcel As Excel.Application
Dim WBExcel As Excel.Workbook
Dim WSExcelAs Excel.Worksheet
Set ApplExcel = New Excel.Application 'on crée une nouvelle app Excel
Set WBExcel = objXL.Workbooks.Add 'On lui ajoute un classeur
Set WSExcelAs = objWB.Worksheets(1) 'On sélectionne la feuille 1
for i=0 to rs1.recordcount
'-------On charge le s1ers chams ds la feuille Excel
WSExcelAs .Cells(i, 9) = rs2![Descripción]= Trim(Data1.Recordset.Fields(("MatConf"))) '9 =>colonne N
rs1.movenext
next
'--------------------
De cette façon je contrôle bien les cellules de ma feuille