Faire une macro vba

Fermé
carine11100 Messages postés 4 Date d'inscription mercredi 18 novembre 2020 Statut Membre Dernière intervention 23 novembre 2020 - 18 nov. 2020 à 08:47
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 - 23 nov. 2020 à 10:35
Bonjour,

Je suis en train de créer un fichier excel patients.
Je voudrais que les lignes de A4 à A11 de mon onglet appelé "seance1" se copie automatiquement sur les autres onglets "seance2" " seance 3" " seance 4" ect...

Je ne maitrise pas du tout les macros. J'ai bien essayé en allant sur plusieurs forum mais je suis en échec

Merci pour votre aide

Bonne journée
Carine
A voir également:

4 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
18 nov. 2020 à 10:53
bonjour, souhaites-tu apprendre les macros?
0
carine11100 Messages postés 4 Date d'inscription mercredi 18 novembre 2020 Statut Membre Dernière intervention 23 novembre 2020
18 nov. 2020 à 11:02
Bonjour merci pour votre réponse. oui par la suite, je me pencherais dessus je suis assez autodidacte. Mais la c'est en urgence donc pas trop le temps.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
18 nov. 2020 à 11:53
tu n'as pas précisé où les lignes copiées devaient arriver dans les autres onglets.
il faut copier d'un onglet vers tous les autres?
0
Carine > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
18 nov. 2020 à 12:15
Bonjour

Pardon les lignes copiées vont aussi de A4 à A12 et oui 1 onglet vers tous les autres
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > Carine
18 nov. 2020 à 16:28
suggestion:
Option Explicit
Sub carine()
Const nsource As String = "seance1"
Dim rsource As Range, fdest As Worksheet
Set rsource = Intersect(ThisWorkbook.Worksheets(nsource).UsedRange, ThisWorkbook.Worksheets(nsource).Range("4:11"))
For Each fdest In ThisWorkbook.Worksheets
    If fdest.Name <> nsource Then
        rsource.Copy fdest.Range(rsource.Address).Resize(rsource.Rows.Count, rsource.Columns.Column)
    End If
Next fdest
End Sub
0
carine11100 Messages postés 4 Date d'inscription mercredi 18 novembre 2020 Statut Membre Dernière intervention 23 novembre 2020 > yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024
Modifié le 23 nov. 2020 à 11:50
Bonjour

Merci beaucoup pour votre réponse

Quand j'execute la formule il me met une ligne en erreur

Set rsource = Intersect(ThisWorkbook.Worksheets(nsource).UsedRange, ThisWorkbook.Worksheets(nsource).Range("4:11"))


merci beaucoup pour votre aide
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > carine11100 Messages postés 4 Date d'inscription mercredi 18 novembre 2020 Statut Membre Dernière intervention 23 novembre 2020
Modifié le 20 nov. 2020 à 13:34
quelle erreur?
les lignes à copier sont-elles vides?
0
carine11100 Messages postés 4 Date d'inscription mercredi 18 novembre 2020 Statut Membre Dernière intervention 23 novembre 2020
Modifié le 23 nov. 2020 à 11:50
Bonjour

Merci pour votre aide mais j'ai toujours un message d'erreur sur la ligne suivante

Set rsource = ThisWorkbook.Worksheets(nsource).Range("4:11")
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
23 nov. 2020 à 10:34
pourquoi ne réponds-tu pas à mes questions?
quel message d'erreur?
es-tu certaine du nom de l'onglet source?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
23 nov. 2020 à 10:35
Bonjour,

c'est parce que la syntaxe n'est pas bonne.
Voir ceci:

https://docs.microsoft.com/fr-FR/office/vba/api/Excel.Range.Copy
0