Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
28260A49-0FEC-4418-983D-5A9A562DCCC5@microsoft.com...
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANN
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
28260A49-0FEC-4418-983D-5A9A562DCCC5@microsoft.com...
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANN
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" a écrit dans le message de news:
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANNEn macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
4512A20B-A903-40F9-8D2B-71CBF3E1AE0C@microsoft.com...
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANN
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
28260A49-0FEC-4418-983D-5A9A562DCCC5@microsoft.com...
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANN
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" a écrit dans le message de news:
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANNEn macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" a écrit dans le message de news:
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANNEn macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas
copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
4512A20B-A903-40F9-8D2B-71CBF3E1AE0C@microsoft.com...
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANN
En macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
28260A49-0FEC-4418-983D-5A9A562DCCC5@microsoft.com...
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANN
Bonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas
copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" <YANN24@discussions.microsoft.com> a écrit dans le message de news:
46BA0151-0718-4568-ACA3-CDA84D753A18@microsoft.com...
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub
Moi, je ne suis plus... si tu copies la plage de cellules, pourquoi veux-tu copier les formules à la main ?
De quelles formules s'agit-il ?
Salutation!
"YANN24" a écrit dans le message de news:
OK, merci. Donc, il faut que je mette des formules. Mais y a t il une macro
car fainéant, je n'ai pas envie de me tapper trop de formules à écrire?
merci.
YANNEn macro,
Il est impossible de copier des formats de cellules et leur valeur sans ouvrir le fichier.
Salutations!
"YANN24" a écrit dans le message de news:
Re,
d'accord, c'est mieux. Mais, il n'y a pas moyen de récupérer les données
sans ouvrir mon fichier B ?
Car en formules, ça se met à jour automatiquement. Donc, ce n'est pas
possible en macro? Dans ce cas, la mise en forme serait perdue, mais ce n'est
pas grave, je pourrais me débrouiller.
Donc, en résumé, peut on avoir une macro qui remplace ma formule :
"=SI([B.xls]CP!A1="";"";[B.xls]CP!A1)"
Sur mon fichier A feuille "CP", je veux, à suivre, les valeurs des celulles
A1 à P20 du fichier B (sur la plage A1 à P20), puis les valeurs des cellules
A1 à P20 du fichier C (sur la plage A22 à P41), et etc.
Merci. YANNBonjour Yann24,
La seule façon de reproduire totalement le format d'une feuille (plage) vers une autre feuille, est de copier
totalement
la feuille... lorsque tu copies une plage de cellules, il y a au moins la hauteur des lignes qui ne sera pas
copiée
vers
la plage de destination.
Par exemple : au lieu de ceci :
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Tu aurais cela :
Set Rg = Workbooks("B.xls").Worksheets(2).Cells
Il existe une façon de s'en sortir ...pour ce qui est de la hauteur des lignes de plage copiée... à cet égard, sur
le
site de Frédéric Sigonneau, tu trouveras une macro sur le sujet (hauteur des lignes de la plage copiée)
Salutations!
"YANN24" a écrit dans le message de news:
Bonjour,
voilà, j'ai 2 fichiers A et B, et je voudrais copier dans mon fichier A, une
plage de celulles de mon fichier B. J'ai un emacro pour celà, mais le hic,
c'est que je dois obligatoirement ouvrir mon fichier B. Puis-je avoir la même
opération (c'est à dire un copier de B vers A avec respect de la mise en
forme). Voici ma macro.
Meci d'avance. YANN
Sub ValeurExterne()
On Error Resume Next
Windows("B").Activate
If Err.Number <> 0 Then
Err.Clear
MsgBox "fichier non ouvert"
Workbooks.Open Filename:="C:Documents and SettingsUser144Mes
documentsB.xls"
End If
Dim Rg As Range
Application.ScreenUpdating = False
'Classeur Source
Set Rg = Workbooks("B.xls").Worksheets(2).Range("A1:E25")
Rg.Copy
'Classeur destination
With Workbooks("A.xls").Worksheets(4)
.Activate
.Range("A1").Activate
.Paste
.Range("A1").Select
End With
Rg.Parent.Activate
Application.CutCopyMode = False
Set Rg = Nothing
End Sub