OVH Cloud OVH Cloud

Comment récupérer la colonne de même nom d'un autre fichier

18 réponses
Avatar
J
Bonjour à tous (XL2000)

j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets, même
structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour la
colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer ces 2
colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub

merci pour l'aide
@+ et joyeuses fêtes
J@@

10 réponses

1 2
Avatar
LSteph
Bonjour JiPi,
Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1


Conviendrait-il?

;-) Bonne Année

lSteph

"J@@" a écrit dans le message de news:
%
Bonjour à tous (XL2000)

j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour la
colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer ces
2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub

merci pour l'aide
@+ et joyeuses fêtes
J@@



Avatar
J
Bonjour Lsteph (et bonne année)

je cherchais qq chose de compliqué (c'est vrai que les liaisons me font
toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte dans
mes 2 fichiers d'origine? Mais comment éviter de tout afire à la main :-(
merci à toi et tes lumières

@+
J@@


"LSteph"
Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1


Conviendrait-il?

;-) Bonne Année

lSteph

"J@@"
Bonjour à tous (XL2000)

j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour la
colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer ces
2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub

merci pour l'aide
@+ et joyeuses fêtes
J@@







Avatar
LSteph
Bonsoir Jipi,

Pour des dates, ma proposition ne convient effectivement pas.
Et pour ce qui est des lumières, je suis passé en veilleuses.
Sinon pour les dates :
=texte([Classeur1]Feuil1!A1;"jj/mm/aaa")&" |
"&texte([Classeur2]Feuil1!A1;"jj/mm/aaa")

Mais cela n'est pas fâmeux si l'on ne peut tout caser en une fomulation.
A voir effectivement, peut-être retour à une solution, moins simpliste.
En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph




"J@@" a écrit dans le message de news:

Bonjour Lsteph (et bonne année)

je cherchais qq chose de compliqué (c'est vrai que les liaisons me font
toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la main
:-(
merci à toi et tes lumières

@+
J@@


"LSteph"
Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1


Conviendrait-il?

;-) Bonne Année

lSteph

"J@@"
Bonjour à tous (XL2000)

j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub

merci pour l'aide
@+ et joyeuses fêtes
J@@











Avatar
J
Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai réessayé
en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec la
plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me faudra
encore de l'huile de foie de morue.

@+
J@@



"LSteph" <
En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les liaisons

me font
toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la
main J@@


"LSteph"
Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"
Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@








Avatar
LSteph
Bonsoir J@@,
L'erreur 9 c'est visiblement ici le nom de fichier qui ne passe pas
Pour appeler en param un nom de fichier avec des _ les ' passent mais dans
une variable...
le plus simple serait de ne pas mettre de _ (tirets plats) dans les noms de
fichiers.

lSteph


"J@@" a écrit dans le message de news:

Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai
réessayé en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec la
plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me
faudra encore de l'huile de foie de morue.

@+
J@@



"LSteph" <
En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les liaisons

me font
toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la
main J@@


"LSteph"
Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"
Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@












Avatar
Gaenonius
Tu es sûr que tes classeurs s'appellent
ListesTypes_Petitmat_Inv_commandes04
ListesTypes_Petitmat_Inv_commandes05
et pas plutôt
ListesTypes_Petitmat_Inv_commandes04.xls
ListesTypes_Petitmat_Inv_commandes05.xls
?
Parce que chez moi, si j'oublie l'extension, ça m'envoie une erreur 9 aussi !

--
Gaenonius

Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai réessayé
en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec la
plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me faudra
encore de l'huile de foie de morue.

@+
J@@



"LSteph" <

En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les liaisons
me font

toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la
main J@@


"LSteph"

Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"

Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@













Avatar
LSteph
Bonsoir ,
Merci Gaenonius j'avais mis d'emblée les .xls alors que J@à ne les mets pas.
En fait ce doit être une question de version j'ai essayé :
avec 97 il fait un beurk 9 sur les tirets plats ou sur l'absence de .xls
en 2003 il gère les deux sans pb.

lSteph

"Gaenonius" a écrit dans le message de news:

Tu es sûr que tes classeurs s'appellent
ListesTypes_Petitmat_Inv_commandes04
ListesTypes_Petitmat_Inv_commandes05
et pas plutôt
ListesTypes_Petitmat_Inv_commandes04.xls
ListesTypes_Petitmat_Inv_commandes05.xls
?
Parce que chez moi, si j'oublie l'extension, ça m'envoie une erreur 9
aussi !

--
Gaenonius

Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai
réessayé en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec la
plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me
faudra encore de l'huile de foie de morue.

@+
J@@



"LSteph" <

En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les liaisons
me font

toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la
main J@@


"LSteph"

Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"

Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@














Avatar
Gaenonius
En 2002 (ma version de travail), l'absence d'extension provoque une erreur 9.
Attendons que les îles réagissent.

--
Gaenonius

Bonsoir ,
Merci Gaenonius j'avais mis d'emblée les .xls alors que J@à ne les mets pas.
En fait ce doit être une question de version j'ai essayé :
avec 97 il fait un beurk 9 sur les tirets plats ou sur l'absence de .xls
en 2003 il gère les deux sans pb.

lSteph

"Gaenonius" a écrit dans le message de news:


Tu es sûr que tes classeurs s'appellent
ListesTypes_Petitmat_Inv_commandes04
ListesTypes_Petitmat_Inv_commandes05
et pas plutôt
ListesTypes_Petitmat_Inv_commandes04.xls
ListesTypes_Petitmat_Inv_commandes05.xls
?
Parce que chez moi, si j'oublie l'extension, ça m'envoie une erreur 9
aussi !

--
Gaenonius


Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai
réessayé en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec la
plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me
faudra encore de l'huile de foie de morue.

@+
J@@



"LSteph" <

En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les liaisons
me font


toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai un
format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en bon
format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format texte
dans mes 2 fichiers d'origine? Mais comment éviter de tout afire à la
main J@@


"LSteph"

Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"


Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des onglets,
même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts pour
la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour imprimer
ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@

















Avatar
LSteph
:-) pourquoi les îles? ou lesquelles


"Gaenonius" a écrit dans le message de news:
%
En 2002 (ma version de travail), l'absence d'extension provoque une erreur
9.
Attendons que les îles réagissent.

--
Gaenonius

Bonsoir ,
Merci Gaenonius j'avais mis d'emblée les .xls alors que J@à ne les mets
pas.
En fait ce doit être une question de version j'ai essayé :
avec 97 il fait un beurk 9 sur les tirets plats ou sur l'absence de .xls
en 2003 il gère les deux sans pb.

lSteph

"Gaenonius" a écrit dans le message de news:


Tu es sûr que tes classeurs s'appellent
ListesTypes_Petitmat_Inv_commandes04
ListesTypes_Petitmat_Inv_commandes05
et pas plutôt
ListesTypes_Petitmat_Inv_commandes04.xls
ListesTypes_Petitmat_Inv_commandes05.xls
?
Parce que chez moi, si j'oublie l'extension, ça m'envoie une erreur 9
aussi !

--
Gaenonius


Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai
réessayé en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec
la plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me
faudra encore de l'huile de foie de morue.

@+
J@@



"LSteph" <

En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les
liaisons me font


toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai
un format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en
bon format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format
texte dans mes 2 fichiers d'origine? Mais comment éviter de tout afire
à la main J@@


"LSteph"

Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"


Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des
onglets, même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts
pour la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour
imprimer ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@



















Avatar
Gaenonius
Google donne à penser que J@@ a probablement les doigts de pied en éventail dans
une île des mers du sud quand il ne taquine pas Excel.

--
Gaenonius

:-) pourquoi les îles? ou lesquelles


"Gaenonius" a écrit dans le message de news:
%

En 2002 (ma version de travail), l'absence d'extension provoque une erreur
9.
Attendons que les îles réagissent.

--
Gaenonius


Bonsoir ,
Merci Gaenonius j'avais mis d'emblée les .xls alors que J@à ne les mets
pas.
En fait ce doit être une question de version j'ai essayé :
avec 97 il fait un beurk 9 sur les tirets plats ou sur l'absence de .xls
en 2003 il gère les deux sans pb.

lSteph

"Gaenonius" a écrit dans le message de news:



Tu es sûr que tes classeurs s'appellent
ListesTypes_Petitmat_Inv_commandes04
ListesTypes_Petitmat_Inv_commandes05
et pas plutôt
ListesTypes_Petitmat_Inv_commandes04.xls
ListesTypes_Petitmat_Inv_commandes05.xls
?
Parce que chez moi, si j'oublie l'extension, ça m'envoie une erreur 9
aussi !

--
Gaenonius



Bonjour LSteph

j'ai nommé les feuilles comme ci dessous mais j'ai erreur 9 ??
Où est mon erreur ?
Puis j'ai créé un fichier de réception, et ouvert les 3 fichiers, puis
cliqué depuis le fichier de réception activé. (et puis ensuite j'ai
réessayé en activant l'un ou l'autre, mais rien de mieux :-((

Set wbs1 =
Workbooks("ListesTypes_Petitmat_Inv_commandes04").Worksheets("Inv_CentresPetitMat")
Set wbs2 =
Workbooks("ListesTypes_Petitmat_Inv_commandes05").Worksheets("Inv_CentresPetitMat")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

sinon l'idée me plait bien ( pour 36 colonnes, environ 200 lignes avec
la plupart du temps des chiffres, 1 fois du texte, 3 fois des dates)
Il y a des petites choses où je progresse, mais pas des masses :-( Me
faudra encore de l'huile de foie de morue.

@+
J@@



"LSteph" <

En VBA , l'idée serait boucler les colonnes .
Exemple ici pour 10x2 colonnes:

'****
Sub groupecol()
'groupe colonnes de 2 classeurs par 2
Dim wbs1 As Worksheet
Dim wbs2 As Worksheet
Dim wbs3 As Worksheet 'celle qui recoit
Set wbs1 = Workbooks("Classeur1").Worksheets("Feuil1")
Set wbs2 = Workbooks("Classeur2").Worksheets("Feuil1")
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Dim cpt As Integer
Application.ScreenUpdating = False
For i = 1 To 10
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs1.Columns(i).Cells.Value
cpt = cpt + 1
wbs3.Columns(cpt).Cells = wbs2.Columns(i).Cells.Value
Next i
Application.ScreenUpdating = True
End Sub
'*****

'--
'A+
'lSteph


"J@@" >> je cherchais qq chose de compliqué (c'est vrai que les
liaisons me font



toujours un peu peur), mais avec un peu d'adaptation, cela doit aller.

Mais j'ai tout concaténé et par exemple, en lignes 101, 102, 103 j'ai
un format date, cela me met un pataquès :
37572 => 37572 dans une seule cellule, donc difficile à remettre en
bon format
au lieu de
12/11/2002 => 12/11/2002
Peut-être qu'il vaudrait mieux repasser mon format date en format
texte dans mes 2 fichiers d'origine? Mais comment éviter de tout afire
à la main J@@


"LSteph"

Généraliser (? à toutes les colonnes)
Limite 256 colonnes donc par macro 128 pour deux feuilles
alors juste pour le plaisir sans macro
dans Classeur3 en Feuil1!A1 (à étendre à volo):

=[Classeur1]Feuil1!A1&" | "&[Classeur2]Feuil1!A1

lSteph

"J@@"



Bonjour à tous (XL2000)
j'ai 2 fichiers de structures semblables 1 et 2 (même nom des
onglets, même structure de la feuille concernée)

Etant dans le fichier 2, avec l'enregistreur j'arrive à mes buts
pour la colonne D, mais comment généraliser cela?
C'est à dire comment récupérer la colonne de même titre pour
imprimer ces 2 colonnes ensemble.

Sub Macro1()
Columns("D:D").Select
Windows("Liste04.xls").Activate
Columns("D:D").Copy
Windows("Liste05.xls").Activate
Selection.Insert Shift:=xlToRight
Columns("D:E").Select
Application.CutCopyMode = False
Selection.PrintPreview
Columns("D:D").Delete Shift:=xlToLeft
End Sub
J@@






















1 2