Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
ja
assez clair? Merci déja
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
ja
assez clair? Merci déja
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
ja
assez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
BenjaminBonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
Benjamin
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
BenjaminBonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"" a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
jaassez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"alain.bazire@wanadoo.fr" <alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:3C478674-933F-4590-A1F7-BBAF347AE48B@microsoft.com...
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
ja
assez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"" a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
jaassez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"" a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
jaassez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"alain.bazire@wanadoo.fr" <alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:3C478674-933F-4590-A1F7-BBAF347AE48B@microsoft.com...
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
ja
assez clair? Merci déja
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"" a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis
jaassez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
BenjaminBonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
Benjamin
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Bonjour,
quand tu veux faire une macro qui restera stable ensuite (pas de changements
en fonction d'une variable, genre nombre de feuille, de ligne...), je te
conseille d'utiliser 'enregistrer macro' dans outils/macro/enregistrer une
nouvelle macro.
Ensuite tu fais eaxctement ce que tu veux (copier de tes feuilles dans ton
recap) et tu appuis sur stop (le carré ) quand tu as fini.
Excel aura crée tout seul ta macro !
Bon là, cela donne en améliorant ce qu'excel te ferait :
Sub lance()
dim p as number
p=0
'Je lance une fonction pour ne pas avoir à répéter le code
(contrairement à excel qui te l'aurait répéter, c'est juste pour faire plus
joli et plus simple)
'La fonction a 2 éléments nécessaires, le nom de la feuille
d'inventaire à utiliser et le nombre de fois qu'on l'a déjà fait pour savoir
où le coller dans recap
p= transporte("liaison1",p)
'On dit que p = transporte pour savoir à quel niveau on en est...Dans
la fonction, on va dire à transporte qu'il est égal à p+1 pour la suivante
p=transporte("liason2",p)
etc
end sub
function transporte(strnom as tring, p as number)
'on utilise dans le code de la fonction strnom pour le nom de la feuille
et p pour le nombre de fois où on l'a fait
workbooks("inventaire.xls").activate
sheets(strnom).select
range("A8:B26").copy
workbooks("recap inventaire").activate
sheet("feuille3").select
Cells(4+p*15,4).select selection.pastespecial xlvalues
transporte = p+1
end function
Donc tu prends le code tu le colle dans un module de recap inventaire ou
d'inventaire puis te le lance, cela devrait marcher....
Cordialement
BenjaminBonjour à tous et toutes. Voila ce que je désire réaliser. Dans classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26 coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et ainsi de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide comme
ca ca me servira beaucoup a comprendre quelques explications en plus serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila suis ja
assez clair? Merci déja
Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier
une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suis
jaassez clair? Merci déja
Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement Alain
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier
une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"alain.bazire@wanadoo.fr"
<alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:3C478674-933F-4590-A1F7-BBAF347AE48B@microsoft.com...
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suis
ja
assez clair? Merci déja
Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier
une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
a
écrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsi
desuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suis
jaassez clair? Merci déja
Bonjour
Normal car il y a un saut de ligne intempestif dans mon message d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
"" a
écrit dans le message de
news:Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentesque de 19 lignes pour la prochaine copie alors que tu souhaites copier
uneplage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombrede feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
aécrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeurinventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
collerspecial valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsidesuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PStoujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suisjaassez clair? Merci déja
Bonjour
Normal car il y a un saut de ligne intempestif dans mon message d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
"alain.bazire@wanadoo.fr" <alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:790AAACF-ADF8-4618-9E27-76AAF427A4AE@microsoft.com...
Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement Alain
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites copier
une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"alain.bazire@wanadoo.fr"
<alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:3C478674-933F-4590-A1F7-BBAF347AE48B@microsoft.com...
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
comme
ca ca me servira beaucoup a comprendre quelques explications en plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suis
ja
assez clair? Merci déja
Bonjour
Normal car il y a un saut de ligne intempestif dans mon message d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
"" a
écrit dans le message de
news:Rebonsoir papou. Excuses moi ,mais à la ligne destination il met erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentesque de 19 lignes pour la prochaine copie alors que tu souhaites copier
uneplage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombrede feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
aécrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeurinventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
collerspecial valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23 et
ainsidesuite décortiquée ainsi ca parait facile mais bon.Merci de votrte aide
commeca ca me servira beaucoup a comprendre quelques explications en plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés .Alain
PStoujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461 Voila
suisjaassez clair? Merci déja
Bonjour Papou. Merci pour ton aide oh combien précieuse cela fonctionne
impeccable. Merci beaucoup. Cordialement AlainBonjour
Normal car il y a un saut de ligne intempestif dans mon message
d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la
partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
""
a
écrit dans le message de
news:Rebonsoir papou. Excuses moi ,mais à la ligne destination il met
erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentesque de 19 lignes pour la prochaine copie alors que tu souhaites
copier
uneplage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombrede feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
aécrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeurinventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
collerspecial valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme
plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23
et
ainsidesuite décortiquée ainsi ca parait facile mais bon.Merci de votrte
aide
commeca ca me servira beaucoup a comprendre quelques explications en
plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés
.Alain
PStoujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461
Voila
suisjaassez clair? Merci déja
Bonjour Papou. Merci pour ton aide oh combien précieuse cela fonctionne
impeccable. Merci beaucoup. Cordialement Alain
Bonjour
Normal car il y a un saut de ligne intempestif dans mon message
d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la
partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
"alain.bazire@wanadoo.fr"
<alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:790AAACF-ADF8-4618-9E27-76AAF427A4AE@microsoft.com...
Rebonsoir papou. Excuses moi ,mais à la ligne destination il met
erreur de
syntaxe donc cela ne fonctionne pas . Cordialement Alain
Bonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentes
que de 19 lignes pour la prochaine copie alors que tu souhaites
copier
une
plage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombre
de feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
"alain.bazire@wanadoo.fr"
<alainbazirewanadoofr@discussions.microsoft.com> a
écrit dans le message de
news:3C478674-933F-4590-A1F7-BBAF347AE48B@microsoft.com...
Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeur
inventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
coller
special valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retourner
dans Inventaire feuille2 nommée Liaison 2 sélectionner la meme
plage
A8:S26
la coller val spec dans Récap Inventaire Feuille 3 coller en A23
et
ainsi
de
suite décortiquée ainsi ca parait facile mais bon.Merci de votrte
aide
comme
ca ca me servira beaucoup a comprendre quelques explications en
plus
serait
super sympa. Merci d'avance à mes futurs professeurs .Amitiéés
.Alain
PS
toujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461
Voila
suis
ja
assez clair? Merci déja
Bonjour Papou. Merci pour ton aide oh combien précieuse cela fonctionne
impeccable. Merci beaucoup. Cordialement AlainBonjour
Normal car il y a un saut de ligne intempestif dans mon message
d'origine,
la partie "Destination:=" doit se trouver sur la même ligne que la
partie
commençant par "Contenant.Worksheets".
Modifie donc comme ceci :
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy _
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Cordialement
Pascal
""
a
écrit dans le message de
news:Rebonsoir papou. Excuses moi ,mais à la ligne destination il met
erreur de
syntaxe donc cela ne fonctionne pas . Cordialement AlainBonjour
Tu vas avoir un problème sur ta plage de destination car tu
n'incrémentesque de 19 lignes pour la prochaine copie alors que tu souhaites
copier
uneplage de 26 lignes !
Mais sinon, voici un moyen d'automatiser ton affaire :
(testé sur Excel 2003 avec une plage de cellules moins grande et un
nombrede feuilles limité à 3, et incrémentation augmentée à 27)
Sub AlainBazire()
Dim Contenant As Workbook
Dim Recevant As Workbook
Set Contenant = Workbooks("inventaire.xls")
Set Recevant = Workbooks("Recap Inventaire.xls")
Dim LaPlgContenant$, NomFContenant$
LaPlgContenant = "A8:S26"
NomFContenant = "Liaison "
Dim i As Long, y As Long
Application.ScreenUpdating = False
y = 0
For i = 1 To 461
If i = 1 Then
y = y + 4
Else: y = y + 27 'à modifier
End If
Contenant.Worksheets(NomFContenant & i).Range(LaPlgContenant).Copy
Destination:=Recevant.Worksheets("Feuil3").Range("A" & y)
Application.CutCopyMode = False
Next i
Application.ScreenUpdating = True
End Sub
Cordialement
Pascal
""
aécrit dans le message de
news:Bonjour à tous et toutes. Voila ce que je désire réaliser. Dans
classeurinventaire sélectionner feuil 1 nommée Liaison 1 la plage A8;S26
collerspecial valeur dans classeur Récap Inventaire Feuille 3 en A4 puis
retournerdans Inventaire feuille2 nommée Liaison 2 sélectionner la meme
plage
A8:S26la coller val spec dans Récap Inventaire Feuille 3 coller en A23
et
ainsidesuite décortiquée ainsi ca parait facile mais bon.Merci de votrte
aide
commeca ca me servira beaucoup a comprendre quelques explications en
plus
seraitsuper sympa. Merci d'avance à mes futurs professeurs .Amitiéés
.Alain
PStoujours une addition de 19 A4 A23 A 42 etc jusqu'à Liaison 461
Voila
suisjaassez clair? Merci déja