Faire une macro vba

carine11100 Messages postés 4 Statut Membre -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
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

4 réponses

yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 586
 
bonjour, souhaites-tu apprendre les macros?
0
carine11100 Messages postés 4 Statut Membre
 
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 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
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 24281 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 586 > Carine
 
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 Statut Membre > yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention  
 
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 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 586 > carine11100 Messages postés 4 Statut Membre
 
quelle erreur?
les lignes à copier sont-elles vides?
0
carine11100 Messages postés 4 Statut Membre
 
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 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 586
 
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 8437 Statut Contributeur 730
 
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