OVH Cloud OVH Cloud

ligne suivante dans macro

8 réponses
Avatar
petitplateau
Bonsoir,
Je suis en train d'écrire une macro dans une application Excel destinée à
enregistrer les scrores d'une partie de tarot.
Le but est de copier les valeurs (scores) affichées dans 5 cellules
déterminées d'une feuille du classeur, dans une ligne d'une autre feuille du
même classeur.
Jusque là j'ai réussi à peu près. Voilà ce que ça donne :
Sub Macro1()
Sheets("calculs").Select
Range("A2:E2").Select
Selection.Copy
Sheets("scores").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=
_
False, Transpose:=False
End Sub
Je souhaiterais ajouter à la fin de la macro une commande indiquant au focus
de se positionner automatiquement à la ligne suivante, pour y copier les 5
résultats de la donne suivante du jeu lors de la prochaine exécution de la
macro.
C'est idiot, mais je n'y arrive pas.
Merci d'avance à celles ou ceux qui peuvent me "déboguer"

PP

8 réponses

Avatar
petitplateau
Rebonsoir
Oups!
Je souhaiterais ajouter à la fin de la macro une commande indiquant au
focus

de se positionner automatiquement à la ligne suivante,
s'cusez-moi, je voulais dire sélectionner la première cellule de la ligne

suivante
Merci.
PP

Avatar
sabatier
bonsoir PP
et si tu insérais une ligne vide : ce serait plus facile, non? un coup
d'enregistreur de macros et hop! in the pocket the proc...
jps

petitplateau a écrit:
Bonsoir,
Je suis en train d'écrire une macro dans une application Excel destinée à
enregistrer les scrores d'une partie de tarot.
Le but est de copier les valeurs (scores) affichées dans 5 cellules
déterminées d'une feuille du classeur, dans une ligne d'une autre feuille du
même classeur.
Jusque là j'ai réussi à peu près. Voilà ce que ça donne :
Sub Macro1()
Sheets("calculs").Select
Range("A2:E2").Select
Selection.Copy
Sheets("scores").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: > _
False, Transpose:úlse
End Sub
Je souhaiterais ajouter à la fin de la macro une commande indiquant au focus
de se positionner automatiquement à la ligne suivante, pour y copier les 5
résultats de la donne suivante du jeu lors de la prochaine exécution de la
macro.
C'est idiot, mais je n'y arrive pas.
Merci d'avance à celles ou ceux qui peuvent me "déboguer"

PP




Avatar
sabatier
bonjour PP
moi, je verrais bien un truc comme ça :

Sheets("calculs").Select
Range("A2:E2").Copy
Sheets("Scores").Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.EntireRow.Insert
Range("A1").Select
Sheets("Feuil1").Activate
Selection.EntireRow.Insert
Range("A2").Select

mais peut-être veux-tu coller avec addition dans ta feuille scores,
auquel cas il faut un peu modifier la macro
à suivre
jps

petitplateau a écrit:
Bonsoir,
Je suis en train d'écrire une macro dans une application Excel destinée à
enregistrer les scrores d'une partie de tarot.
Le but est de copier les valeurs (scores) affichées dans 5 cellules
déterminées d'une feuille du classeur, dans une ligne d'une autre feuille du
même classeur.
Jusque là j'ai réussi à peu près. Voilà ce que ça donne :
Sub Macro1()
Sheets("calculs").Select
Range("A2:E2").Select
Selection.Copy
Sheets("scores").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks: > _
False, Transpose:úlse
End Sub
Je souhaiterais ajouter à la fin de la macro une commande indiquant au focus
de se positionner automatiquement à la ligne suivante, pour y copier les 5
résultats de la donne suivante du jeu lors de la prochaine exécution de la
macro.
C'est idiot, mais je n'y arrive pas.
Merci d'avance à celles ou ceux qui peuvent me "déboguer"

PP




Avatar
Frédo P.
Bonsoir PP
essaye cela
Sub Macro1()
dim Clac as range,Dest as range,lg as double
set Calc= Sheets("calculs").Range("A2:E2")
lg=sheets("Scores").Range("A65536").End(xlup).Row
dest=Sheets("Scores").Range("A" & lg &":E"& lg)
DestÊlc
end sub
--
Frédéric


"sabatier" a écrit dans le message de news:

bonjour PP
moi, je verrais bien un truc comme ça :

Sheets("calculs").Select
Range("A2:E2").Copy
Sheets("Scores").Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.EntireRow.Insert
Range("A1").Select
Sheets("Feuil1").Activate
Selection.EntireRow.Insert
Range("A2").Select

mais peut-être veux-tu coller avec addition dans ta feuille scores,
auquel cas il faut un peu modifier la macro
à suivre
jps

petitplateau a écrit:
Bonsoir,
Je suis en train d'écrire une macro dans une application Excel destinée
à


enregistrer les scrores d'une partie de tarot.
Le but est de copier les valeurs (scores) affichées dans 5 cellules
déterminées d'une feuille du classeur, dans une ligne d'une autre
feuille du


même classeur.
Jusque là j'ai réussi à peu près. Voilà ce que ça donne :
Sub Macro1()
Sheets("calculs").Select
Range("A2:E2").Select
Selection.Copy
Sheets("scores").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > _


False, Transpose:úlse
End Sub
Je souhaiterais ajouter à la fin de la macro une commande indiquant au
focus


de se positionner automatiquement à la ligne suivante, pour y copier les
5


résultats de la donne suivante du jeu lors de la prochaine exécution de
la


macro.
C'est idiot, mais je n'y arrive pas.
Merci d'avance à celles ou ceux qui peuvent me "déboguer"

PP







Avatar
Frédo P.
oups! petite inversion
Sub Macro1()
dim Calc as range,Dest as range,lg as double
set Calc= Sheets("calculs").Range("A2:E2")
lg=sheets("Scores").Range("A65536").End(xlup).Row
dest=Sheets("Scores").Range("A" & lg &":E"& lg)
DestÊlc
end sub


--
Frédéric


"Frédo P." a écrit dans le message de news:
#
Bonsoir PP
essaye cela
Sub Macro1()
dim Clac as range,Dest as range,lg as double
set Calc= Sheets("calculs").Range("A2:E2")
lg=sheets("Scores").Range("A65536").End(xlup).Row
dest=Sheets("Scores").Range("A" & lg &":E"& lg)
DestÊlc
end sub
--
Frédéric


"sabatier" a écrit dans le message de news:

bonjour PP
moi, je verrais bien un truc comme ça :

Sheets("calculs").Select
Range("A2:E2").Copy
Sheets("Scores").Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.EntireRow.Insert
Range("A1").Select
Sheets("Feuil1").Activate
Selection.EntireRow.Insert
Range("A2").Select

mais peut-être veux-tu coller avec addition dans ta feuille scores,
auquel cas il faut un peu modifier la macro
à suivre
jps

petitplateau a écrit:
Bonsoir,
Je suis en train d'écrire une macro dans une application Excel
destinée



à
enregistrer les scrores d'une partie de tarot.
Le but est de copier les valeurs (scores) affichées dans 5 cellules
déterminées d'une feuille du classeur, dans une ligne d'une autre
feuille du


même classeur.
Jusque là j'ai réussi à peu près. Voilà ce que ça donne :
Sub Macro1()
Sheets("calculs").Select
Range("A2:E2").Select
Selection.Copy
Sheets("scores").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks: > > > _


False, Transpose:úlse
End Sub
Je souhaiterais ajouter à la fin de la macro une commande indiquant au
focus


de se positionner automatiquement à la ligne suivante, pour y copier
les



5
résultats de la donne suivante du jeu lors de la prochaine exécution
de



la
macro.
C'est idiot, mais je n'y arrive pas.
Merci d'avance à celles ou ceux qui peuvent me "déboguer"

PP











Avatar
Frédo P.
Ah ça c'est sûr je vais en prendre une

--
Frédéric
Avatar
petitplateau
Bonjour,
Merci d'avoir bien voulu répondre.
La Macro proposée renvoie le message d'erreur suivant:
erreur d'exécution 91.
variable objet ou variable de bloc with non définie.
Je ne peux donc pas vérifier si le résultat escompté est obtenu.
PP
"Frédo P." a écrit dans le message de news:
#
oups! petite inversion
Sub Macro1()
dim Calc as range,Dest as range,lg as double
set Calc= Sheets("calculs").Range("A2:E2")
lg=sheets("Scores").Range("A65536").End(xlup).Row
dest=Sheets("Scores").Range("A" & lg &":E"& lg)
DestÊlc
end sub


--
Frédéric



Avatar
petitplateau
Bonjour
Le principe proposé d'insérer une ligne est en effet tout simple et répond
parfaitement à la demande exprimée. Merci d'y avoir pensé et d'avoir répondu
si vite.
J'ai recopié la macro ci-dessous en la modifiant un peu car il existe des
contraintes que tu ne pouvais connaître (collage spécial en particulier).
Encore merci.
PP

"sabatier" a écrit dans le message de news:

bonjour PP
moi, je verrais bien un truc comme ça :

Sheets("calculs").Select
Range("A2:E2").Copy
Sheets("Scores").Activate
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.EntireRow.Insert
Range("A1").Select
Sheets("Feuil1").Activate
Selection.EntireRow.Insert
Range("A2").Select

mais peut-être veux-tu coller avec addition dans ta feuille scores,
auquel cas il faut un peu modifier la macro
à suivre
jps