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@@

8 réponses

1 2
Avatar
twinley
Bonsoir Gae

Il a encore des orteils ? Y a pas mal de crabes là-bas...

à+twinley

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@@

























Avatar
J
Bonjour à tous
je suis en XL2000, j'ai corrigé le .xls, l'adresse de mes fichiers passe
maintenant, mais j'ai erreur 9 pour la ligne que voilà :
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")
Or j'ai fabriqué un fichier de réception des résultats, exprès tout vide
avec une Feuil2 qui est activé lorsque je déclenceh la macro...
Vraiment XL est chatouilleux
Merci pour l'aide

J@@ (du 17è Sud, qui a très peu d'orteils à cause des crabes)


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">>>>
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

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.

"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
J
:-) pourquoi les îles? ou lesquelles

Tahiti


mais j'y pense, par rapport à toi, mon XL est pendu au plafond, c'est
peut-être l'origine de mes dificultés???
merci pour l'aide
J@@
:-)

Avatar
LSteph
Bonjour,
A l'heure qu'il est je descendrais bien du plafond pour aller piquer une
tête dans le lagon!
;o) à bientôt

lSteph

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

:-) pourquoi les îles? ou lesquelles

Tahiti


mais j'y pense, par rapport à toi, mon XL est pendu au plafond, c'est
peut-être l'origine de mes dificultés???
merci pour l'aide
J@@
:-)




Avatar
J
Bonjour LSteph (soir chez toi)
Tu seras le bienvenu
:-))

sinon (j'y reviens :-))
j'ai erreur 9 pour la ligne suivante :
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Que faut-il faire?
Le Thisworkbook est bien un classeur de réception des résultats que j'ai
créé tout exprès??
merci pour l'aide
J@@

Bonjour,
A l'heure qu'il est je descendrais bien du plafond pour aller piquer une
tête dans le lagon!
;o) à bientôt

lSteph

"J@@" <

:-) pourquoi les îles? ou lesquelles



Tahiti

mais j'y pense, par rapport à toi, mon XL est pendu au plafond, c'est
peut-être l'origine de mes dificultés???
merci pour l'aide
J@@
:-)









Avatar
LSteph
Bonsoir,
Comme cela , je ne vois pas ,..?

ThisWorkbook est le nom du classeur contenant de la macro que l'on appelle
le résultat ainsi écrit devrait apparaître en Feuil2 de ce classeur.

'lSteph

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

Bonjour LSteph (soir chez toi)
Tu seras le bienvenu
:-))

sinon (j'y reviens :-))
j'ai erreur 9 pour la ligne suivante :
Set wbs3 = ThisWorkbook.Worksheets("Feuil2")

Que faut-il faire?
Le Thisworkbook est bien un classeur de réception des résultats que j'ai
créé tout exprès??
merci pour l'aide
J@@

Bonjour,
A l'heure qu'il est je descendrais bien du plafond pour aller piquer une
tête dans le lagon!
;o) à bientôt

lSteph

"J@@" <

:-) pourquoi les îles? ou lesquelles



Tahiti

mais j'y pense, par rapport à toi, mon XL est pendu au plafond, c'est
peut-être l'origine de mes dificultés???
merci pour l'aide
J@@
:-)










Avatar
J
Bonsoir Lsteph
comme le dit Jceel le pb se situe entre la chaise et le clavier :-((

Tout va bien maintenant, en fait j'avais mis la macro dans un des
classeurs origine, je l'ai mise dans le classeur de destination et ça
roule :-))
Tout va bien.
Merci à toi (et à ta patience)
@+
J@@

Comme cela , je ne vois pas ,..?

ThisWorkbook est le nom du classeur contenant de la macro que l'on appelle
le résultat ainsi écrit devrait apparaître en Feuil2 de ce classeur.

'lSteph


Avatar
LSteph
Bonjour,
Oui c'est , ce que je me disais d'où ma petite phrase sur Thisworkbook.


Tout s'arrange donc!
A bientôt.

lSteph

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

Bonsoir Lsteph
comme le dit Jceel le pb se situe entre la chaise et le clavier :-((

Tout va bien maintenant, en fait j'avais mis la macro dans un des
classeurs origine, je l'ai mise dans le classeur de destination et ça
roule :-))
Tout va bien.
Merci à toi (et à ta patience)
@+
J@@

Comme cela , je ne vois pas ,..?

ThisWorkbook est le nom du classeur contenant de la macro que l'on
appelle
le résultat ainsi écrit devrait apparaître en Feuil2 de ce classeur.

'lSteph




1 2