conserver formatage query fichier texte vers excel

Le
franck B
Bonjour,

Mon problème se situe sur une query pour importer des données à partir d'un
fichier txt. J’ai effectué le formatage des couleurs, police de caractères,
après avoir effectué la query. Maintenant, lorsque j'actualise, si les lignes
sont plus importantes, elles viennent incrémenter le nombre de cellules, et
forcément, les données sont écrites sur des cellules dont le formatage ne
correspond pas, rendant ma feuille illisible. Existe-t-il un moyen pour que,
lors de l'actualisation de la query, que les cellules ajoutées, prennent
automatiquement le formatage de celles placées au dessus d'elles?

Je manipule le vba depuis quelque mois maintenant, mais je n'ai pas encore
vu de propriété contenant le format d'une cellule (.interior peut être), que
je pourrai copier dans les cellules ajoutées.

J’attends donc vos suggestions. si mon explication n'est pas claire, je
donnerai des précisions

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #4757001
Bonsoir,

Recopie les formats de la ligne 1 sur toutes les lignes

Rows("1:1").Copy
Range([A2], [A65000].End(xlUp)).EntireRow.PasteSpecial
Paste:=xlPasteFormats


JB
http://boisgontierjacques.free.fr/

On 2 sep, 23:02, franck B
Bonjour,

Mon problème se situe sur une query pour importer des données à par tir d'un
fichier txt. J'ai effectué le formatage des couleurs, police de caract ères,
après avoir effectué la query. Maintenant, lorsque j'actualise, si le s lignes
sont plus importantes, elles viennent incrémenter le nombre de cellules , et
forcément, les données sont écrites sur des cellules dont le format age ne
correspond pas, rendant ma feuille illisible. Existe-t-il un moyen pour q ue,
lors de l'actualisation de la query, que les cellules ajoutées, prennent
automatiquement le formatage de celles placées au dessus d'elles?

Je manipule le vba depuis quelque mois maintenant, mais je n'ai pas encore
vu de propriété contenant le format d'une cellule (.interior peut ê tre), que
je pourrai copier dans les cellules ajoutées.

J'attends donc vos suggestions. si mon explication n'est pas claire, je
donnerai des précisions

Merci d'avance


franck B
Le #4756951
merci pour la rapidité de la réponse.

en fait, ma query ne descend pas jusqu'a la fin de la feuille excel, et plus
important, des tableaux similaires situés en dessous de l'actuel fonctionnent
sur le même principe. il faut donc que je puisse faire en sorte d'agrandir la
dimension du tableau, en gardant le bon format pour chaque composante. dans
les faits, le corps d'un tableau est en jaune, la premiere colone en bleu, et
la derniere ligne en blanc, avec un contour gras. lorsque ma query me rend
plus de lignes, celles ci viennent s'incrire mais le formatage ne suit pas
l'agrandissement du tableau, et je vois apparaitre des données qui
chevauchent le tablau d'en dessous, qui est identique sur le formatage.

je vais essayer ta methode en trouvant les lignes non vides et en leur
applicant le formatage d'une ligne dont je suis sur qu'elle n'a pas changé
(la permiere par exemple)
si tu vois d'or et deja une faille dans ma reflexion, n'hesite pas, je te
donne ma fonction en l'etat avec la query associée. celle ci bug sur la
recherche du fichier source, mais je pense m'en sortir,

Sub import_test()
Dim repertoire As String
Dim parcours As Integer
parcours = 1
While ThisWorkbook.Sheets("Courbe en S").Cells(parcours, 2) <>
Cockpit.cp_import_courbeS
parcours = parcours + 1
Wend
repertoire = ThisWorkbook.Path & "Operational report - detailed loads V4.txt"
With ThisWorkbook.Sheets("Courbe en S").QueryTables.Add(Connection:= _
repertoire _
, Destination:=ThisWorkbook.Sheets("Courbe en S").Cells(parcours, 2))
.Name = "Operational report - detailed loads V4"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 3
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.refresh BackgroundQuery:úlse
End With

End Sub


cordialement,


Bonsoir,

Recopie les formats de la ligne 1 sur toutes les lignes

Rows("1:1").Copy
Range([A2], [A65000].End(xlUp)).EntireRow.PasteSpecial
Paste:=xlPasteFormats


JB
http://boisgontierjacques.free.fr/

On 2 sep, 23:02, franck B
Bonjour,

Mon problème se situe sur une query pour importer des données à partir d'un
fichier txt. J'ai effectué le formatage des couleurs, police de caractères,
après avoir effectué la query. Maintenant, lorsque j'actualise, si les lignes
sont plus importantes, elles viennent incrémenter le nombre de cellules, et
forcément, les données sont écrites sur des cellules dont le formatage ne
correspond pas, rendant ma feuille illisible. Existe-t-il un moyen pour que,
lors de l'actualisation de la query, que les cellules ajoutées, prennent
automatiquement le formatage de celles placées au dessus d'elles?

Je manipule le vba depuis quelque mois maintenant, mais je n'ai pas encore
vu de propriété contenant le format d'une cellule (.interior peut être), que
je pourrai copier dans les cellules ajoutées.

J'attends donc vos suggestions. si mon explication n'est pas claire, je
donnerai des précisions

Merci d'avance







JB
Le #4755001
Bonsoir,

Copie la présentation de la 2e ligne du BD sur toute la BD

Sub essai()
etendColoriage "C3"
etendColoriage "G16"
End Sub

Sub etendColoriage(debut)
Range(debut).CurrentRegion.Offset(1, 0).Resize(1).Copy
Range(debut).CurrentRegion.Offset(1, 0).PasteSpecial
Paste:=xlPasteFormats
End Sub

http://cjoint.com/?jexvwZSx8I

JB

On 2 sep, 23:58, franck B
merci pour la rapidité de la réponse.

en fait, ma query ne descend pas jusqu'a la fin de la feuille excel, et p lus
important, des tableaux similaires situés en dessous de l'actuel foncti onnent
sur le même principe. il faut donc que je puisse faire en sorte d'agran dir la
dimension du tableau, en gardant le bon format pour chaque composante. da ns
les faits, le corps d'un tableau est en jaune, la premiere colone en bleu , et
la derniere ligne en blanc, avec un contour gras. lorsque ma query me rend
plus de lignes, celles ci viennent s'incrire mais le formatage ne suit pas
l'agrandissement du tableau, et je vois apparaitre des données qui
chevauchent le tablau d'en dessous, qui est identique sur le formatage.

je vais essayer ta methode en trouvant les lignes non vides et en leur
applicant le formatage d'une ligne dont je suis sur qu'elle n'a pas chang é
(la permiere par exemple)
si tu vois d'or et deja une faille dans ma reflexion, n'hesite pas, je te
donne ma fonction en l'etat avec la query associée. celle ci bug sur la
recherche du fichier source, mais je pense m'en sortir,

Sub import_test()
Dim repertoire As String
Dim parcours As Integer
parcours = 1
While ThisWorkbook.Sheets("Courbe en S").Cells(parcours, 2) <>
Cockpit.cp_import_courbeS
parcours = parcours + 1
Wend
repertoire = ThisWorkbook.Path & "Operational report - detailed loads V4.txt"
With ThisWorkbook.Sheets("Courbe en S").QueryTables.Add(Connection:= _
repertoire _
, Destination:=ThisWorkbook.Sheets("Courbe en S").Cells(parcour s, 2))
.Name = "Operational report - detailed loads V4"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 3
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.refresh BackgroundQuery:úlse
End With

End Sub

cordialement,




Bonsoir,

Recopie les formats de la ligne 1 sur toutes les lignes

Rows("1:1").Copy
Range([A2], [A65000].End(xlUp)).EntireRow.PasteSpecial
Paste:=xlPasteFormats

JB
http://boisgontierjacques.free.fr/

On 2 sep, 23:02, franck B
Bonjour,

Mon problème se situe sur une query pour importer des données à partir d'un
fichier txt. J'ai effectué le formatage des couleurs, police de car actères,
après avoir effectué la query. Maintenant, lorsque j'actualise, s i les lignes
sont plus importantes, elles viennent incrémenter le nombre de cell ules, et
forcément, les données sont écrites sur des cellules dont le fo rmatage ne
correspond pas, rendant ma feuille illisible. Existe-t-il un moyen po ur que,
lors de l'actualisation de la query, que les cellules ajoutées, pre nnent
automatiquement le formatage de celles placées au dessus d'elles?

Je manipule le vba depuis quelque mois maintenant, mais je n'ai pas e ncore
vu de propriété contenant le format d'une cellule (.interior peut être), que
je pourrai copier dans les cellules ajoutées.

J'attends donc vos suggestions. si mon explication n'est pas claire, je
donnerai des précisions

Merci d'avance- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Publicité
Poster une réponse
Anonyme