Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment faire une simple action

2 réponses
Avatar
GARAULT
Je réexplique.
dans une classeur, je suis sur la feuille acceuil.
je lance une macro, celle-ci m'ouvre un fichier word, selectionne tout c
qu'il y a dedant, et copie la selection.
****jusque la tout est simple***
la suite de la macro dit: coller ce qui a été copier dans la page "prix
vitrage" "cellule a25"
*****le problème*****
quand j'ouvre le classeur, que je me met sur la feuill "prix vitrage" la
macro m'ouvre bien le fichier word, selectionne tout, le copie et le colle
dans la page "prix vitrage" sans problème.
*******************
mais comme moi la macro se lancera obligatoirement de la page d'acceuil,
voici ce qui ce pass au lancement de la macro:
ouverture du fichier word ok
selection ok
copie ok
coller dans la page "prix vitrage" cellule "a25" sa fonctionne pas.

voici ce qui a été essayé:
.Copy Selection("Prix vitrage").Range("A25")
sheets("Prix vitrage").range("A25")
sheets("Prix vitrage").range("A25") .text
sheets("Prix vitrage").range("A25") .select
range("A1").copy sheets("Prix vitrage").range("A25")
Worksheets("Prix vitrage").Range("A25").Select

Quelqu'un aurait quelque chose a me proposer:
voici le code entier:
************************************************************

Sub NewFileVersion(File As String, FileTemp As String)

Dim Wd As Object
Dim Dc As Object

Set Wd = CreateObject("Word.application")
With Wd
.Visible = False 'Optionnel, mettre à false
'pour ne rien voir ...
Set Dc = .Documents.Open(File) ' Ouvrrir le fichier
.Selection.HomeKey unit:=wdStory
.Selection.Delete unit:=wdCharacter, Count:=1 ' Supprimer les
lignes vides
.Selection.Delete unit:=wdCharacter, Count:=1 '
.Selection.Delete unit:=wdCharacter, Count:=2
.Selection.Delete unit:=wdCharacter, Count:=3
.Selection.Delete unit:=wdCharacter, Count:=4
.Selection.Delete unit:=wdCharacter, Count:=5
.Selection.Delete unit:=wdCharacter, Count:=6
.Selection.Delete unit:=wdCharacter, Count:=7
.Selection.Delete unit:=wdCharacter, Count:=8
.Selection.Delete unit:=wdCharacter, Count:=9
.Selection.Delete unit:=wdCharacter, Count:=10
.Selection.Delete unit:=wdCharacter, Count:=11
.Selection.Delete unit:=wdCharacter, Count:=12
.Selection.Delete unit:=wdCharacter, Count:=13
.Selection.Delete unit:=wdCharacter, Count:=14
.Selection.Delete unit:=wdCharacter, Count:=15
.Selection.Delete unit:=wdCharacter, Count:=16
.Selection.Delete unit:=wdCharacter, Count:=17
.Selection.Delete unit:=wdCharacter, Count:=18
.Selection.Delete unit:=wdCharacter, Count:=19
.Selection.Delete unit:=wdCharacter, Count:=20
.Selection.Delete unit:=wdCharacter, Count:=21

.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1

.Documents(File).Select ' Tous selectionner
.Selection.Font.Size = 10 ' Change les hauteurs
.Selection.Copy ' Copier ce qui à été selectionné
.Copy Selection("Prix vitrage").Range("A25") ' Le coller

Dc.Close
.Quit
End With
End Sub

2 réponses

Avatar
Jacky
Bonjour,

Essaie:
.Selection.Copy Sheets("Prix vitrage").Range("A25")

Pas testé.....
--
Salutations
JJ

"GARAULT" a écrit dans le message de
news:
Je réexplique.
dans une classeur, je suis sur la feuille acceuil.
je lance une macro, celle-ci m'ouvre un fichier word, selectionne tout c
qu'il y a dedant, et copie la selection.
****jusque la tout est simple***
la suite de la macro dit: coller ce qui a été copier dans la page "prix
vitrage" "cellule a25"
*****le problème*****
quand j'ouvre le classeur, que je me met sur la feuill "prix vitrage" la
macro m'ouvre bien le fichier word, selectionne tout, le copie et le colle
dans la page "prix vitrage" sans problème.
*******************
mais comme moi la macro se lancera obligatoirement de la page d'acceuil,
voici ce qui ce pass au lancement de la macro:
ouverture du fichier word ok
selection ok
copie ok
coller dans la page "prix vitrage" cellule "a25" sa fonctionne pas.

voici ce qui a été essayé:
.Copy Selection("Prix vitrage").Range("A25")
sheets("Prix vitrage").range("A25")
sheets("Prix vitrage").range("A25") .text
sheets("Prix vitrage").range("A25") .select
range("A1").copy sheets("Prix vitrage").range("A25")
Worksheets("Prix vitrage").Range("A25").Select

Quelqu'un aurait quelque chose a me proposer:
voici le code entier:
************************************************************

Sub NewFileVersion(File As String, FileTemp As String)

Dim Wd As Object
Dim Dc As Object

Set Wd = CreateObject("Word.application")
With Wd
.Visible = False 'Optionnel, mettre à false
'pour ne rien voir ...
Set Dc = .Documents.Open(File) ' Ouvrrir le fichier
.Selection.HomeKey unit:=wdStory
.Selection.Delete unit:=wdCharacter, Count:=1 ' Supprimer les
lignes vides
.Selection.Delete unit:=wdCharacter, Count:=1 '
.Selection.Delete unit:=wdCharacter, Count:=2
.Selection.Delete unit:=wdCharacter, Count:=3
.Selection.Delete unit:=wdCharacter, Count:=4
.Selection.Delete unit:=wdCharacter, Count:=5
.Selection.Delete unit:=wdCharacter, Count:=6
.Selection.Delete unit:=wdCharacter, Count:=7
.Selection.Delete unit:=wdCharacter, Count:=8
.Selection.Delete unit:=wdCharacter, Count:=9
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:!

.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1

.Documents(File).Select ' Tous selectionner
.Selection.Font.Size = 10 ' Change les hauteurs
.Selection.Copy ' Copier ce qui à été selectionné
.Copy Selection("Prix vitrage").Range("A25") ' Le coller

Dc.Close
.Quit
End With
End Sub


Avatar
Jacky
Re...
Si ce code est saisie sur une seule ligne et qu'il ne fonctionne pas, cela
vient d'ailleurs...

--
Salutations
JJ

"GARAULT" a écrit dans le message de
news:
non plus


Bonjour,

Essaie:
.Selection.Copy Sheets("Prix vitrage").Range("A25")

Pas testé.....
--
Salutations
JJ

"GARAULT" a écrit dans le message de
news:
Je réexplique.
dans une classeur, je suis sur la feuille acceuil.
je lance une macro, celle-ci m'ouvre un fichier word, selectionne tout
c
qu'il y a dedant, et copie la selection.
****jusque la tout est simple***
la suite de la macro dit: coller ce qui a été copier dans la page "prix
vitrage" "cellule a25"
*****le problème*****
quand j'ouvre le classeur, que je me met sur la feuill "prix vitrage"
la
macro m'ouvre bien le fichier word, selectionne tout, le copie et le
colle
dans la page "prix vitrage" sans problème.
*******************
mais comme moi la macro se lancera obligatoirement de la page
d'acceuil,
voici ce qui ce pass au lancement de la macro:
ouverture du fichier word ok
selection ok
copie ok
coller dans la page "prix vitrage" cellule "a25" sa fonctionne pas.

voici ce qui a été essayé:
.Copy Selection("Prix vitrage").Range("A25")
sheets("Prix vitrage").range("A25")
sheets("Prix vitrage").range("A25") .text
sheets("Prix vitrage").range("A25") .select
range("A1").copy sheets("Prix vitrage").range("A25")
Worksheets("Prix vitrage").Range("A25").Select

Quelqu'un aurait quelque chose a me proposer:
voici le code entier:
************************************************************

Sub NewFileVersion(File As String, FileTemp As String)

Dim Wd As Object
Dim Dc As Object

Set Wd = CreateObject("Word.application")
With Wd
.Visible = False 'Optionnel, mettre à false
'pour ne rien voir ...
Set Dc = .Documents.Open(File) ' Ouvrrir le fichier
.Selection.HomeKey unit:=wdStory
.Selection.Delete unit:=wdCharacter, Count:=1 ' Supprimer les
lignes vides
.Selection.Delete unit:=wdCharacter, Count:=1 '
.Selection.Delete unit:=wdCharacter, Count:=2
.Selection.Delete unit:=wdCharacter, Count:=3
.Selection.Delete unit:=wdCharacter, Count:=4
.Selection.Delete unit:=wdCharacter, Count:=5
.Selection.Delete unit:=wdCharacter, Count:=6
.Selection.Delete unit:=wdCharacter, Count:=7
.Selection.Delete unit:=wdCharacter, Count:=8
.Selection.Delete unit:=wdCharacter, Count:=9
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:
.Selection.Delete unit:=wdCharacter, Count:!

.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1
.Selection.MoveDown unit:=wdLine, Count:=1
.Selection.Delete unit:=wdCharacter, Count:=1

.Documents(File).Select ' Tous selectionner
.Selection.Font.Size = 10 ' Change les hauteurs
.Selection.Copy ' Copier ce qui à été selectionné
.Copy Selection("Prix vitrage").Range("A25") ' Le coller

Dc.Close
.Quit
End With
End Sub