OVH Cloud OVH Cloud

comment simplifier cette macro

3 réponses
Avatar
Daniel
Bonjout ètous

J'ai fait les deux macro suivante elle fonctionne bien mais ci je veut
exécuter 400 fois a la place de 50 elle ne fonctionne pas car j'obtiens un
message d'erreur ( tros large procédure).

!: Est t'il possible de simplifier la procédure ,en moins de ligne ( par un
chiffre)
2: avoir cela en une seul macro.

Merci :-)

Sub Fusionner_L2_n3_1de2_ ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Range("L2:n3").Select
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '1
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '2
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '3
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '4
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '5
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '6
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '7
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '8
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '9
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '10
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '11
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '12
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '13
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '14
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '15
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '16
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '17
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '18
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '19
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '20
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '21
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '22
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '23
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '24
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '25
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '26
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '27
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '28
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '29
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '30
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '31
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '32
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '33
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '34
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '35
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '36
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '37
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '38
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '39
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '40
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '41
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '42
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '43
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '44
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '45
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '46
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '47
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '48
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '49
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '50
End Sub
'
Sub Fusionner_2de2 ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Dim ici As String
ici = ActiveCell.Address
Selection.Copy
ActiveCell(41, 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveCell(1, 1).Select
Selection.Merge
End Sub

3 réponses

Avatar
Nicolas B.
Salut Daniel,

Au lieu de mettre 400 fois Application.Run
"macro__pour_Démo.xls!Fusionner_2de2" :

for i=1 to 400
Fusionner_2de2
next


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjout ètous

J'ai fait les deux macro suivante elle fonctionne bien mais ci je veut
exécuter 400 fois a la place de 50 elle ne fonctionne pas car
j'obtiens un message d'erreur ( tros large procédure).

!: Est t'il possible de simplifier la procédure ,en moins de ligne (
par un chiffre)
2: avoir cela en une seul macro.

Merci :-)

Sub Fusionner_L2_n3_1de2_ ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Range("L2:n3").Select
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '1
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '2
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '3
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '4
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '5
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '6
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '7
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '8
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '9
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '10
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '11
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '12
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '13
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '14
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '15
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '16
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '17
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '18
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '19
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '20
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '21
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '22
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '23
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '24
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '25
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '26
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '27
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '28
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '29
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '30
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '31
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '32
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '33
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '34
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '35
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '36
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '37
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '38
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '39
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '40
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '41
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '42
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '43
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '44
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '45
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '46
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '47
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '48
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '49
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '50
End Sub
'
Sub Fusionner_2de2 ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Dim ici As String
ici = ActiveCell.Address
Selection.Copy
ActiveCell(41, 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
ActiveCell(1, 1).Select
Selection.Merge
End Sub


Avatar
Daniel
"Nicolas B." a écrit dans le message de
news:
Salut Daniel,

Au lieu de mettre 400 fois Application.Run
"macro__pour_Démo.xls!Fusionner_2de2" :

for i=1 to 400
Fusionner_2de2
next


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjout ètous

J'ai fait les deux macro suivante elle fonctionne bien mais ci je veut
exécuter 400 fois a la place de 50 elle ne fonctionne pas car
j'obtiens un message d'erreur ( tros large procédure).

!: Est t'il possible de simplifier la procédure ,en moins de ligne (
par un chiffre)
2: avoir cela en une seul macro.

Merci :-)

Sub Fusionner_L2_n3_1de2_ ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Range("L2:n3").Select
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '1
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '2
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '3
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '4
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '5
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '6
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '7
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '8
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '9
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '10
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '11
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '12
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '13
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '14
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '15
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '16
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '17
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '18
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '19
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '20
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '21
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '22
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '23
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '24
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '25
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '26
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '27
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '28
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '29
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '30
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '31
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '32
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '33
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '34
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '35
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '36
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '37
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '38
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '39
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '40
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '41
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '42
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '43
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '44
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '45
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '46
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '47
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '48
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '49
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '50
End Sub
'
Sub Fusionner_2de2 ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Dim ici As String
ici = ActiveCell.Address
Selection.Copy
ActiveCell(41, 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
ActiveCell(1, 1).Select
Selection.Merge
End Sub






Avatar
Daniel
Gros Merci Nicolas B cela fonction très bien .


"Nicolas B." a écrit dans le message de
news:
Salut Daniel,

Au lieu de mettre 400 fois Application.Run
"macro__pour_Démo.xls!Fusionner_2de2" :

for i=1 to 400
Fusionner_2de2
next


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Bonjout ètous

J'ai fait les deux macro suivante elle fonctionne bien mais ci je veut
exécuter 400 fois a la place de 50 elle ne fonctionne pas car
j'obtiens un message d'erreur ( tros large procédure).

!: Est t'il possible de simplifier la procédure ,en moins de ligne (
par un chiffre)
2: avoir cela en une seul macro.

Merci :-)

Sub Fusionner_L2_n3_1de2_ ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Range("L2:n3").Select
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '1
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '2
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '3
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '4
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '5
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '6
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '7
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '8
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '9
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '10
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '11
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '12
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '13
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '14
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '15
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '16
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '17
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '18
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '19
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '20
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '21
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '22
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '23
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '24
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '25
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '26
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '27
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '28
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '29
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '30
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '31
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '32
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '33
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '34
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '35
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '36
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '37
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '38
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '39
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '40
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '41
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '42
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '43
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '44
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '45
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '46
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '47
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '48
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '49
Application.Run "macro__pour_Démo.xls!Fusionner_2de2" '50
End Sub
'
Sub Fusionner_2de2 ()
' Macro pour fusionner un champ sur tout les 454 pages
'

'
Dim ici As String
ici = ActiveCell.Address
Selection.Copy
ActiveCell(41, 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:úlse
Application.CutCopyMode = False
ActiveCell(1, 1).Select
Selection.Merge
End Sub