Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules
impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT()
Dim Arr, i&
ChDir "T:\Multifonds-Interfaces\Spot-Transaction\"
sauvnom Range("J3", Range("J10000").End(xlUp)),
"T:\Multifonds-Interfaces\Spot-Transaction\" & "Spot-" & Date & ".DAT"
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
Private Sub sauvnom(Plage As Range, NomFich$)
Open NomFich For Output As 1
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
Close
End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Cordialement. Daniel "Michel" a écrit dans le message de news: OuRlPo%
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT() Dim Arr, i& ChDir "T:Multifonds-InterfacesSpot-Transaction" sauvnom Range("J3", Range("J10000").End(xlUp)), "T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT" Rows("3:3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Cordialement.
Daniel
"Michel" <mholderiantispam@hotmailantispam.com> a écrit dans le message de
news: OuRlPo%23jGHA.3620@TK2MSFTNGP02.phx.gbl...
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules
impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT()
Dim Arr, i&
ChDir "T:Multifonds-InterfacesSpot-Transaction"
sauvnom Range("J3", Range("J10000").End(xlUp)),
"T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT"
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
Private Sub sauvnom(Plage As Range, NomFich$)
Open NomFich For Output As 1
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
Close
End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Cordialement. Daniel "Michel" a écrit dans le message de news: OuRlPo%
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT() Dim Arr, i& ChDir "T:Multifonds-InterfacesSpot-Transaction" sauvnom Range("J3", Range("J10000").End(xlUp)), "T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT" Rows("3:3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Ce qu'il faut savoir c'est que la longueur en colonne texte est de 1780.
Si je ne split pas ma formule en 3 cellules (K&L&M) et je concatenetes le tout en une (K)
le resultat de :
Print #1, CELL.Text & Range("K" & CELL.Row).Value
me donne un fichier ne comportant que entre 1024 et 1030 colonne il oublie de me transcrire les 750 autres colonnes.
Je ne sais pas pourquoi..... Quelqu'un aurait-il une idee ?
Pour l'instant ca marche mais ce n'ai pas tres jolie.... et surtout pro....
P.S. : L'instruction write et via word ne donne rien non plus.....
Merci d'avance pour votre aide.
@+
Michel.
Michel
Desole... En fait CELL.Text est deja la selection de la colonne J.
Le fait de definir un nombre de colonne au niveau de VBA de change rien quand a la fonction PRINT....
Bien que tu puisses definir un range de 4000, n'empeche que la fonction PRINT/WRITE va te remplir ton fichier plat que de 1024/1030 positions/colonnes.
Faits le test tu verra bien...
Mon code fonction tres bien sauf que je voudrais le faire qu'a partir d'une cellule et pas de 4 cellules....
Une autre idee ?
si ce n'est pas claire dis moi ce que tu n'as pas compris ?
Cordialement. Daniel "Michel" a écrit dans le message de news: OuRlPo%
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT() Dim Arr, i& ChDir "T:Multifonds-InterfacesSpot-Transaction" sauvnom Range("J3", Range("J10000").End(xlUp)), "T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT" Rows("3:3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Ce qu'il faut savoir c'est que la longueur en colonne texte est de 1780.
Si je ne split pas ma formule en 3 cellules (K&L&M) et je concatenetes le tout en une (K)
le resultat de :
Print #1, CELL.Text & Range("K" & CELL.Row).Value
me donne un fichier ne comportant que entre 1024 et 1030 colonne il oublie de me transcrire les 750 autres colonnes.
Je ne sais pas pourquoi..... Quelqu'un aurait-il une idee ?
Pour l'instant ca marche mais ce n'ai pas tres jolie.... et surtout pro....
P.S. : L'instruction write et via word ne donne rien non plus.....
Merci d'avance pour votre aide.
@+
Michel.
Desole...
En fait CELL.Text est deja la selection de la colonne J.
Le fait de definir un nombre de colonne au niveau de VBA de change rien
quand a la fonction PRINT....
Bien que tu puisses definir un range de 4000, n'empeche que la fonction
PRINT/WRITE va te remplir ton fichier plat que de 1024/1030
positions/colonnes.
Faits le test tu verra bien...
Mon code fonction tres bien sauf que je voudrais le faire qu'a partir d'une
cellule et pas de 4 cellules....
Une autre idee ?
si ce n'est pas claire dis moi ce que tu n'as pas compris ?
@+
Michel.
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
exiQKl$jGHA.1260@TK2MSFTNGP05.phx.gbl...
Cordialement.
Daniel
"Michel" <mholderiantispam@hotmailantispam.com> a écrit dans le message de
news: OuRlPo%23jGHA.3620@TK2MSFTNGP02.phx.gbl...
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules
impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT()
Dim Arr, i&
ChDir "T:Multifonds-InterfacesSpot-Transaction"
sauvnom Range("J3", Range("J10000").End(xlUp)),
"T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT"
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
End Sub
Private Sub sauvnom(Plage As Range, NomFich$)
Open NomFich For Output As 1
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
Close
End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Desole... En fait CELL.Text est deja la selection de la colonne J.
Le fait de definir un nombre de colonne au niveau de VBA de change rien quand a la fonction PRINT....
Bien que tu puisses definir un range de 4000, n'empeche que la fonction PRINT/WRITE va te remplir ton fichier plat que de 1024/1030 positions/colonnes.
Faits le test tu verra bien...
Mon code fonction tres bien sauf que je voudrais le faire qu'a partir d'une cellule et pas de 4 cellules....
Une autre idee ?
si ce n'est pas claire dis moi ce que tu n'as pas compris ?
Cordialement. Daniel "Michel" a écrit dans le message de news: OuRlPo%
Bonjour a tout le monde,
Je voudrais contruire un fichier plat a partir d'excel.
Tout marche bien sauf que je voudrais reduire le nombre de cellules impactees.
voila mon code qui marche tres bien :
Sub B_CREATION_FICHIER_PLAT() Dim Arr, i& ChDir "T:Multifonds-InterfacesSpot-Transaction" sauvnom Range("J3", Range("J10000").End(xlUp)), "T:Multifonds-InterfacesSpot-Transaction" & "Spot-" & Date & ".DAT" Rows("3:3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Delete Shift:=xlUp Range("A1").Select End Sub Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
Ce que je voudrais faire c'est de remplacer :la ligne :
Ce qu'il faut savoir c'est que la longueur en colonne texte est de 1780.
Si je ne split pas ma formule en 3 cellules (K&L&M) et je concatenetes le tout en une (K)
le resultat de :
Print #1, CELL.Text & Range("K" & CELL.Row).Value
me donne un fichier ne comportant que entre 1024 et 1030 colonne il oublie de me transcrire les 750 autres colonnes.
Je ne sais pas pourquoi..... Quelqu'un aurait-il une idee ?
Pour l'instant ca marche mais ce n'ai pas tres jolie.... et surtout pro....
P.S. : L'instruction write et via word ne donne rien non plus.....
Merci d'avance pour votre aide.
@+
Michel.
JLuc
*Bonjour Michel*, Et si tu mets : For Each CELL In Plage With CELL texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3) End With Print #1, texte Next
For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
*Bonjour Michel*,
Et si tu mets :
For Each CELL In Plage
With CELL
texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3)
End With
Print #1, texte
Next
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
*Bonjour Michel*, Et si tu mets : For Each CELL In Plage With CELL texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3) End With Print #1, texte Next
For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Michel
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
"JLuc" a écrit dans le message de news:
*Bonjour Michel*, Et si tu mets : For Each CELL In Plage With CELL texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3) End With Print #1, texte Next
For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
Bonjour,
Ma question etait justement je ne veux qu'une seule cellule a la base... pas
trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus
que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par
cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la
fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma
macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4
cellules concatenees.
Exemple dans la cellule :
=(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin
en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.79ad7d66c54b78d9.40692@free.fr.ns...
*Bonjour Michel*,
Et si tu mets :
For Each CELL In Plage
With CELL
texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3)
End With
Print #1, texte
Next
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
"JLuc" a écrit dans le message de news:
*Bonjour Michel*, Et si tu mets : For Each CELL In Plage With CELL texte = .Value & .Offset(0,1) & .Offset(0,2) & .Offset(0,3) End With Print #1, texte Next
For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next
-- ____ ( O | O ) -- _oooO_ JLuc _Oooo_
O-O
JLuc
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000
-- JLuc
Bonjour,
Ma question etait justement je ne veux qu'une seule cellule a la base... pas
trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus
que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par
cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la
fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma
macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4
cellules concatenees.
Exemple dans la cellule :
=(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin
en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture :
Sub test()
Open "essai.txt" For Output As #1
Print #1, Range("A1")
Close #1
End Sub
Resultat : sans probleme
fichier de 3ko avec le 9 a la fin
Excel 2000
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000
-- JLuc
Michel
Salut,
Efectivement sur une cellule ca marche, alors pourquoi sur une plage cela ne marche pas ?
c-a-d si tu boucles par exemple de A1 jusqu'a A10
Merci,
@+
Michel.
"JLuc" a écrit dans le message de news:
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000
-- JLuc
Salut,
Efectivement sur une cellule ca marche, alors pourquoi sur une plage cela ne
marche pas ?
c-a-d si tu boucles par exemple de A1 jusqu'a A10
Merci,
@+
Michel.
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.81ff7d66ff6adf18.42854@free.fr.ns...
Bonjour,
Ma question etait justement je ne veux qu'une seule cellule a la base...
pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant
plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par
cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la
fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma
macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4
cellules concatenees.
Exemple dans la cellule :
=(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin
en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture :
Sub test()
Open "essai.txt" For Output As #1
Print #1, Range("A1")
Close #1
End Sub
Resultat : sans probleme
fichier de 3ko avec le 9 a la fin
Excel 2000
Efectivement sur une cellule ca marche, alors pourquoi sur une plage cela ne marche pas ?
c-a-d si tu boucles par exemple de A1 jusqu'a A10
Merci,
@+
Michel.
"JLuc" a écrit dans le message de news:
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000
-- JLuc
Michel
J'ai trouve mon erreur....
Au lieu de :
Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
cela donne :
Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Value Next Close End Sub
et la ca marche....
C'est vraoment trop con..... Chercher pendant 1 semaine pour ca......
Mais bon l'essentiel c'est que ca marche....
Un grand merci a tout le monde.
@+
Michel.
"JLuc" a écrit dans le message de news:
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000
-- JLuc
J'ai trouve mon erreur....
Au lieu de :
Private Sub sauvnom(Plage As Range, NomFich$)
Open NomFich For Output As 1
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" &
CELL.Row).Value & Range("M" & CELL.Row).Value
Next
Close
End Sub
cela donne :
Private Sub sauvnom(Plage As Range, NomFich$)
Open NomFich For Output As 1
For Each CELL In Plage
'i = i + 1
Print #1, CELL.Value
Next
Close
End Sub
et la ca marche....
C'est vraoment trop con..... Chercher pendant 1 semaine pour ca......
Mais bon l'essentiel c'est que ca marche....
Un grand merci a tout le monde.
@+
Michel.
"JLuc" <ns.jeanluc.laurent@free.fr.ns> a écrit dans le message de news:
mn.81ff7d66ff6adf18.42854@free.fr.ns...
Bonjour,
Ma question etait justement je ne veux qu'une seule cellule a la base...
pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant
plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par
cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la
fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma
macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4
cellules concatenees.
Exemple dans la cellule :
=(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin
en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel.
J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture :
Sub test()
Open "essai.txt" For Output As #1
Print #1, Range("A1")
Close #1
End Sub
Resultat : sans probleme
fichier de 3ko avec le 9 a la fin
Excel 2000
Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Text & Range("K" & CELL.Row).Value & Range("L" & CELL.Row).Value & Range("M" & CELL.Row).Value Next Close End Sub
cela donne :
Private Sub sauvnom(Plage As Range, NomFich$) Open NomFich For Output As 1 For Each CELL In Plage 'i = i + 1 Print #1, CELL.Value Next Close End Sub
et la ca marche....
C'est vraoment trop con..... Chercher pendant 1 semaine pour ca......
Mais bon l'essentiel c'est que ca marche....
Un grand merci a tout le monde.
@+
Michel.
"JLuc" a écrit dans le message de news:
Bonjour, Ma question etait justement je ne veux qu'une seule cellule a la base... pas trois ou quatres qui seraient concatenees.
Mon probleme et la fonction PRINT par rapport a une cellule contenant plus que 1021 champs a l'interieur.
Si je split les 1700 champs sur 3 ou 4 cellules, cela veut dire que par cellule j'obtiendrais moind de 1021 champs par cellules. Autrement dit la fonction PRINT marchera impec.
Si ce n'est toujours pas clair, je suggeres a tout le monde d'essayer ma macro....
Vous verez immediatement le resultat avec une seule cellule et avec 3/4 cellules concatenees. Exemple dans la cellule : =(rept("1";1700)&9)
Si vous faites ca dans une cellule il n'y aura pas de 9 a la fin en splittant ce sur plusieurs cellules ce sera bon..
@+
Michel. J'ai fais la manip, formule : =REPT("A";3000)&"9"
ecriture : Sub test() Open "essai.txt" For Output As #1 Print #1, Range("A1") Close #1 End Sub Resultat : sans probleme fichier de 3ko avec le 9 a la fin Excel 2000