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

copier des données d'une feuille à une autre

7 réponses
Avatar
andrea
Re bonjour

j'ai une petite macro que j'aimerais simplifier

==============
'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
=============

la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance

7 réponses

Avatar
michdenis
Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



"andrea" a écrit dans le message de news:
Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= 'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance
Avatar
andrea
cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:
Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



"andrea" a écrit dans le message de news:
Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= > 'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance




Avatar
michdenis
Le code est écrit où ? Dans le module de la feuille, dans un module standard ?

Ce code est déclenché comment ? Événement , bouton de commande ?

As-tu des feuilles qui sont protégées ?

Et si la macro plante ... quelle ligne est mise en surbrillance ?

Tu dois mettre l'épaule à la roue !


Salutations!


"andrea" a écrit dans le message de news:
cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:
Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



"andrea" a écrit dans le message de news:
Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= > 'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance




Avatar
andrea
pour l'instant le code est dans un module et je le lance directement
de la fenêtre vba
dès que tout fonctionnera je ferais un bouton dans la barre d'outils
et la macro sera dans le classeur perso (demande express du chef)
je sais c'est dangereux mais ce sont des gens qui sont sur excel à
longueur de journée qui utilisent ce classeur

aucune protection ni sur le classeur ni sur les feuilles

c'est la ligne 1 de la feuille active qui est en surbrillance
et c'est la ligne de code
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
qui bloque
et je ne sais pas ce que veut dire l'épaule à la roue ??

merci de passer encore quelques minutes avec moi


michdenis a écrit:
Le code est écrit où ? Dans le module de la feuille, dans un module standard ?

Ce code est déclenché comment ? Événement , bouton de commande ?

As-tu des feuilles qui sont protégées ?

Et si la macro plante ... quelle ligne est mise en surbrillance ?

Tu dois mettre l'épaule à la roue !


Salutations!


"andrea" a écrit dans le message de news:
cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:

Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



"andrea" a écrit dans le message de news:
Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= >>'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >>
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance









Avatar
andrea
j'ai oublié module standard



andrea a écrit:
pour l'instant le code est dans un module et je le lance directement
de la fenêtre vba
dès que tout fonctionnera je ferais un bouton dans la barre d'outils
et la macro sera dans le classeur perso (demande express du chef)
je sais c'est dangereux mais ce sont des gens qui sont sur excel à
longueur de journée qui utilisent ce classeur

aucune protection ni sur le classeur ni sur les feuilles

c'est la ligne 1 de la feuille active qui est en surbrillance
et c'est la ligne de code
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
qui bloque
et je ne sais pas ce que veut dire l'épaule à la roue ??

merci de passer encore quelques minutes avec moi


michdenis a écrit:

Le code est écrit où ? Dans le module de la feuille, dans un module
standard ?

Ce code est déclenché comment ? Événement , bouton de commande ?

As-tu des feuilles qui sont protégées ?

Et si la macro plante ... quelle ligne est mise en surbrillance ?

Tu dois mettre l'épaule à la roue !


Salutations!


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

cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:

Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille
active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est
pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



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

Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= >>> 'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >>>
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance












Avatar
michdenis
Bonjour Andrea,

Ceci fonctionne très bien... j'avais oublié un point(.) devant Sheets(activesheet.name)...
lors de la copie...

'-----------------------
With Sheets("Titre")
.Rows("1:1").Copy Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown
'-----------------------


Salutations!





"andrea" a écrit dans le message de news:
j'ai oublié module standard



andrea a écrit:
pour l'instant le code est dans un module et je le lance directement
de la fenêtre vba
dès que tout fonctionnera je ferais un bouton dans la barre d'outils
et la macro sera dans le classeur perso (demande express du chef)
je sais c'est dangereux mais ce sont des gens qui sont sur excel à
longueur de journée qui utilisent ce classeur

aucune protection ni sur le classeur ni sur les feuilles

c'est la ligne 1 de la feuille active qui est en surbrillance
et c'est la ligne de code
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
qui bloque
et je ne sais pas ce que veut dire l'épaule à la roue ??

merci de passer encore quelques minutes avec moi


michdenis a écrit:

Le code est écrit où ? Dans le module de la feuille, dans un module
standard ?

Ce code est déclenché comment ? Événement , bouton de commande ?

As-tu des feuilles qui sont protégées ?

Et si la macro plante ... quelle ligne est mise en surbrillance ?

Tu dois mettre l'épaule à la roue !


Salutations!


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

cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:

Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille
active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est
pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



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

Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= >>> 'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >>>
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance












Avatar
andrea
Merci beaucoup





michdenis a écrit:
Bonjour Andrea,

Ceci fonctionne très bien... j'avais oublié un point(.) devant Sheets(activesheet.name)...
lors de la copie...

'-----------------------
With Sheets("Titre")
.Rows("1:1").Copy Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown
'-----------------------


Salutations!





"andrea" a écrit dans le message de news:
j'ai oublié module standard



andrea a écrit:

pour l'instant le code est dans un module et je le lance directement
de la fenêtre vba
dès que tout fonctionnera je ferais un bouton dans la barre d'outils
et la macro sera dans le classeur perso (demande express du chef)
je sais c'est dangereux mais ce sont des gens qui sont sur excel à
longueur de journée qui utilisent ce classeur

aucune protection ni sur le classeur ni sur les feuilles

c'est la ligne 1 de la feuille active qui est en surbrillance
et c'est la ligne de code
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
qui bloque
et je ne sais pas ce que veut dire l'épaule à la roue ??

merci de passer encore quelques minutes avec moi


michdenis a écrit:


Le code est écrit où ? Dans le module de la feuille, dans un module
standard ?

Ce code est déclenché comment ? Événement , bouton de commande ?

As-tu des feuilles qui sont protégées ?

Et si la macro plante ... quelle ligne est mise en surbrillance ?

Tu dois mettre l'épaule à la roue !


Salutations!


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

cela coince les lignes ne se copie pas

en fait l'utilisateur est toujours dans la feuille dite active,
c'est la macro qui va piocher des infos dans les autres feuilles

merci



michdenis a écrit:


Bonjour Andrea,

Il y a ceci :

Copie la ligne 1 de la feuille "titre" vers la ligne 1 de la feuille
active.
Est-ce à l'intérieur du même classeur ?

L'usage de l'expression "ActiveSheet" peut est dangereuse si la macro
est déclenchée alors que la feuille active (voir le classeur) n'est
pas la bonne ! Mais je
n'ai pas ton application devant les yeux pour connaître l'environnement
de ta procédure !

'---------------------

With Sheets("Titre")
.Rows("1:1").Copy .Sheets(ActiveSheet.Name).Rows("1:1")
End With
Sheets(ActiveSheet.Name).Rows("1:1").Insert Shift:=xlDown

'---------------------


Salutations!



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

Re bonjour

j'ai une petite macro que j'aimerais simplifier

============= >>>>'insère la ligne titre
Sheets("Titre").Select
Rows("1:1").Select
Selection.Copy
Sheets("Etat").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown
============ >>>>
la feuille active étant celle nommée ETAT

chaque mois le nom "ETAT" change
j'aimerais sans quitter la feuille active
récupérer les données de la feuille nommée "Titre",

merci d'avance