OVH Cloud OVH Cloud

help macros

5 réponses
Avatar
mike
Bonjour,

Pour garantir un minimum de sécurité lors de saisie d'informations,
j'ai crée un onglet de saisie par utilisateur. Une fois la saisie des
prestations mensuelles effectuée, je regroupe les données de chaque
collaborateur/trice dans un onglet TOTAL_PREST (c'est cette fonction
que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de saisie sera
différente(plus ou moins de données), comment dans la macro indiqué au
système, d'une part de prendre les dernières saisie (la plage étant
toujours différentes...!)

puis-je pour faire cette action utiliser une consolidation ? ou une
macro ?, en partant du prince que je ne fait aucune opération
particulières type(somme, moyenne etc....), je fais que regrouper les
données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

5 réponses

Avatar
Chris MICHEL
Bonjour,

pour sélectionner des plages de données variables, il y a
plusieurs techniques efficaces.

d'abord la currentRegion (ex de syntaxe:
activecell.currentregion.select), simple et efficace (fais
le test avec une macro contenant simplement le bout de
code donné en exemple, tu verras si cela peut convenir).

le "end(xlup)", ex= [A65534].end(xlup).row qui renvoie la
dernière ligne non-vide de la colonne A. Cela permet de
faire des range("A2:G" & [A65534].end(xlup).row)

pour traiter tous les onglets à la suite

for i=1 to sheets.count
if sheets(i).name<> "TOTAL_PREST"
sheets(i).select
code adapté pour copier les données
sheets("TOTAL_PREST").select
code adapté pour coller
end if
next

Pour écrire les bouts de code adaptés, il faudrait plus de
détails.

Chris.

-----Message d'origine-----
Bonjour,

Pour garantir un minimum de sécurité lors de saisie
d'informations,

j'ai crée un onglet de saisie par utilisateur. Une fois
la saisie des

prestations mensuelles effectuée, je regroupe les données
de chaque

collaborateur/trice dans un onglet TOTAL_PREST (c'est
cette fonction

que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de
saisie sera

différente(plus ou moins de données), comment dans la
macro indiqué au

système, d'une part de prendre les dernières saisie (la
plage étant

toujours différentes...!)

puis-je pour faire cette action utiliser une
consolidation ? ou une

macro ?, en partant du prince que je ne fait aucune
opération

particulières type(somme, moyenne etc....), je fais que
regrouper les

données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



Avatar
mike
Bonjour

Super Merci de ta réponse, puis-je te demander concernant la macro du
bas de me l'adapter pour:

1 onglet (Feuille 1) avec les données de B20 à P100, que je regeouperai
dans la feuille "TOTAL_PREST"

Merci beaucoup d'avance

Mike





Chris MICHEL a émis l'idée suivante :
Bonjour,

pour sélectionner des plages de données variables, il y a
plusieurs techniques efficaces.

d'abord la currentRegion (ex de syntaxe:
activecell.currentregion.select), simple et efficace (fais
le test avec une macro contenant simplement le bout de
code donné en exemple, tu verras si cela peut convenir).

le "end(xlup)", ex= [A65534].end(xlup).row qui renvoie la
dernière ligne non-vide de la colonne A. Cela permet de
faire des range("A2:G" & [A65534].end(xlup).row)

pour traiter tous les onglets à la suite

for i=1 to sheets.count
if sheets(i).name<> "TOTAL_PREST"
sheets(i).select
code adapté pour copier les données
sheets("TOTAL_PREST").select
code adapté pour coller
end if
next

Pour écrire les bouts de code adaptés, il faudrait plus de
détails.

Chris.

-----Message d'origine-----
Bonjour,

Pour garantir un minimum de sécurité lors de saisie d'informations,
j'ai crée un onglet de saisie par utilisateur. Une fois la saisie des
prestations mensuelles effectuée, je regroupe les données de chaque
collaborateur/trice dans un onglet TOTAL_PREST (c'est cette fonction
que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de saisie sera
différente(plus ou moins de données), comment dans la macro indiqué au
système, d'une part de prendre les dernières saisie (la plage étant
toujours différentes...!)

puis-je pour faire cette action utiliser une consolidation ? ou une
macro ?, en partant du prince que je ne fait aucune opération
particulières type(somme, moyenne etc....), je fais que regrouper les
données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com


Avatar
Salut,

voila la macro que tu m'as demandée:

Sub pour_Mike()

Sheets("Feuil1").Range("B20:P100").Copy
Sheets("TOTAL_PREST").Select
Range("B" & [B65534].End(3).Row).Select
ActiveSheet.Paste

End Sub

ceci dit, je ne suis pas sûr de comprendre: dans ce que tu
m'as demandé, presque tout est en dur: il n'y a qu'un seul
onglet et on en connait le nom, la zone de données n'est
pas variable, elle est bien définie...
Bref, la macro ci-dessus n'a aucune souplesse et pourrait
facilement être générée par l'enregistreur. A moins que tu
ne veuilles simplement le cadre pour adapter ton code de
la façon que tu désires?

Chris.
-----Message d'origine-----
Bonjour

Super Merci de ta réponse, puis-je te demander concernant
la macro du

bas de me l'adapter pour:

1 onglet (Feuille 1) avec les données de B20 à P100, que
je regeouperai

dans la feuille "TOTAL_PREST"

Merci beaucoup d'avance

Mike





Chris MICHEL a émis l'idée suivante :
Bonjour,

pour sélectionner des plages de données variables, il y
a


plusieurs techniques efficaces.

d'abord la currentRegion (ex de syntaxe:
activecell.currentregion.select), simple et efficace
(fais


le test avec une macro contenant simplement le bout de
code donné en exemple, tu verras si cela peut convenir).

le "end(xlup)", ex= [A65534].end(xlup).row qui renvoie
la


dernière ligne non-vide de la colonne A. Cela permet de
faire des range("A2:G" & [A65534].end(xlup).row)

pour traiter tous les onglets à la suite

for i=1 to sheets.count
if sheets(i).name<> "TOTAL_PREST"
sheets(i).select
code adapté pour copier les données
sheets("TOTAL_PREST").select
code adapté pour coller
end if
next

Pour écrire les bouts de code adaptés, il faudrait plus
de


détails.

Chris.

-----Message d'origine-----
Bonjour,

Pour garantir un minimum de sécurité lors de saisie
d'informations,



j'ai crée un onglet de saisie par utilisateur. Une
fois la saisie des



prestations mensuelles effectuée, je regroupe les
données de chaque



collaborateur/trice dans un onglet TOTAL_PREST (c'est
cette fonction



que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de
saisie sera



différente(plus ou moins de données), comment dans la
macro indiqué au



système, d'une part de prendre les dernières saisie
(la plage étant



toujours différentes...!)

puis-je pour faire cette action utiliser une
consolidation ? ou une



macro ?, en partant du prince que je ne fait aucune
opération



particulières type(somme, moyenne etc....), je fais
que regrouper les



données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.





Avatar
mike
hello,

Non en fait,j'ai toujours plusieurs onglet

les names sont:

Krattinger/junod/sauthier/herman/Stoezer/vodoz/hecv_sante1/ephy_ge
dans chaque feuilles, les données commencent en A16 et se terminent en
L...(on ne sait pas combien de lignes)

j'ai tester ci-dessous ca marche, mais j'ai tous les autres dois-je les
aligner en dessous

Sheets("KRATTINGER").Select
ActiveWindow.SmallScroll Down:=-72
Range("A16:K142").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("TOTAL_ PREST ").Select
Range("B35012").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:h

voila j'ai fait une feuille, j'ai encore tout ces autres feuilles à
copier dans TOTAL_PREST, mais comment le système sait ou se positionner
dans TOTAL_PREST pour ne pas écraser la feuille précédente, ma question
doit te paraître futile....mais ????, je profite pour te remercier de
ton aide

Mike











Sub pour_Mike()

Sheets("Feuil1").Range("B20:P100").Copy
Sheets("TOTAL_PREST").Select
Range("B" & [B65534].End(3).Row).Select
ActiveSheet.Paste

End Sub

ceci dit, je ne suis pas sûr de comprendre: dans ce que tu
m'as demandé, presque tout est en dur: il n'y a qu'un seul
onglet et on en connait le nom, la zone de données n'est
pas variable, elle est bien définie...
Bref, la macro ci-dessus n'a aucune souplesse et pourrait
facilement être générée par l'enregistreur. A moins que tu
ne veuilles simplement le cadre pour adapter ton code de
la façon que tu désires?

Chris.
-----Message d'origine-----
Bonjour

Super Merci de ta réponse, puis-je te demander concernant la macro du
bas de me l'adapter pour:

1 onglet (Feuille 1) avec les données de B20 à P100, que je regeouperai
dans la feuille "TOTAL_PREST"

Merci beaucoup d'avance

Mike





Chris MICHEL a émis l'idée suivante :
Bonjour,

pour sélectionner des plages de données variables, il y a
plusieurs techniques efficaces.

d'abord la currentRegion (ex de syntaxe:
activecell.currentregion.select), simple et efficace (fais
le test avec une macro contenant simplement le bout de
code donné en exemple, tu verras si cela peut convenir).

le "end(xlup)", ex= [A65534].end(xlup).row qui renvoie la
dernière ligne non-vide de la colonne A. Cela permet de
faire des range("A2:G" & [A65534].end(xlup).row)

pour traiter tous les onglets à la suite

for i=1 to sheets.count
if sheets(i).name<> "TOTAL_PREST"
sheets(i).select
code adapté pour copier les données
sheets("TOTAL_PREST").select
code adapté pour coller
end if
next

Pour écrire les bouts de code adaptés, il faudrait plus de
détails.

Chris.

-----Message d'origine-----
Bonjour,

Pour garantir un minimum de sécurité lors de saisie d'informations,
j'ai crée un onglet de saisie par utilisateur. Une fois la saisie des
prestations mensuelles effectuée, je regroupe les données de chaque
collaborateur/trice dans un onglet TOTAL_PREST (c'est cette fonction
que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de saisie sera
différente(plus ou moins de données), comment dans la macro indiqué au
système, d'une part de prendre les dernières saisie (la plage étant
toujours différentes...!)

puis-je pour faire cette action utiliser une consolidation ? ou une
macro ?, en partant du prince que je ne fait aucune opération
particulières type(somme, moyenne etc....), je fais que regrouper les
données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com




Avatar
mike
Non en fait,j'ai toujours plusieurs onglet

les names sont:

Krattinger/junod/sauthier/herman/Stoezer/vodoz/hecv_sante1/ephy_ge
dans chaque feuilles, les données commencent en A16 et se terminent en
L...(on ne sait pas combien de lignes)

j'ai tester ci-dessous ca marche, mais j'ai tous les autres dois-je les
aligner en dessous

Sub pour_Mike()

Sheets("Feuil1").Range("B20:P100").Copy
Sheets("TOTAL_PREST").Select
Range("B" & [B65534].End(3).Row).Select
ActiveSheet.Paste

End Sub


merci de ton aide

Mike




a formulé la demande :
Salut,

voila la macro que tu m'as demandée:

Sub pour_Mike()

Sheets("Feuil1").Range("B20:P100").Copy
Sheets("TOTAL_PREST").Select
Range("B" & [B65534].End(3).Row).Select
ActiveSheet.Paste

End Sub

ceci dit, je ne suis pas sûr de comprendre: dans ce que tu
m'as demandé, presque tout est en dur: il n'y a qu'un seul
onglet et on en connait le nom, la zone de données n'est
pas variable, elle est bien définie...
Bref, la macro ci-dessus n'a aucune souplesse et pourrait
facilement être générée par l'enregistreur. A moins que tu
ne veuilles simplement le cadre pour adapter ton code de
la façon que tu désires?

Chris.
-----Message d'origine-----
Bonjour

Super Merci de ta réponse, puis-je te demander concernant la macro du
bas de me l'adapter pour:

1 onglet (Feuille 1) avec les données de B20 à P100, que je regeouperai
dans la feuille "TOTAL_PREST"

Merci beaucoup d'avance

Mike





Chris MICHEL a émis l'idée suivante :
Bonjour,

pour sélectionner des plages de données variables, il y a
plusieurs techniques efficaces.

d'abord la currentRegion (ex de syntaxe:
activecell.currentregion.select), simple et efficace (fais
le test avec une macro contenant simplement le bout de
code donné en exemple, tu verras si cela peut convenir).

le "end(xlup)", ex= [A65534].end(xlup).row qui renvoie la
dernière ligne non-vide de la colonne A. Cela permet de
faire des range("A2:G" & [A65534].end(xlup).row)

pour traiter tous les onglets à la suite

for i=1 to sheets.count
if sheets(i).name<> "TOTAL_PREST"
sheets(i).select
code adapté pour copier les données
sheets("TOTAL_PREST").select
code adapté pour coller
end if
next

Pour écrire les bouts de code adaptés, il faudrait plus de
détails.

Chris.

-----Message d'origine-----
Bonjour,

Pour garantir un minimum de sécurité lors de saisie d'informations,
j'ai crée un onglet de saisie par utilisateur. Une fois la saisie des
prestations mensuelles effectuée, je regroupe les données de chaque
collaborateur/trice dans un onglet TOTAL_PREST (c'est cette fonction
que je souhaite automatiser par une macro).

mais mon problème, est que chaque mois, la plage de saisie sera
différente(plus ou moins de données), comment dans la macro indiqué au
système, d'une part de prendre les dernières saisie (la plage étant
toujours différentes...!)

puis-je pour faire cette action utiliser une consolidation ? ou une
macro ?, en partant du prince que je ne fait aucune opération
particulières type(somme, moyenne etc....), je fais que regrouper les
données !!!dans une feuille

merci de vos conseils

Mike

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

.



--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com