Copie avec activecell

Bonjour,

je débute en VBA et ne maitrise pas (loin de là) celui-ci.

J'ai donc écris une macro ou je cherche à copier une ligne à partir d'une feuille "Données" sur plusieures autres feuilles. Je souhaite que cette copie se fasse sur toutes les feuilles sur la cellule sélectionnée dans la feuille "Récap".

Hors lorsque je lance ma macro, la copie demandée pour la feuille Récap se fait bien à partir de la cellule sélectionnée, mais pour les autres feuilles, elle se fait aprtir de A1.

Je joins mon code afin que vous puissiez m'aider à découvrir mon erreur.

D'avance je vous remercie.

Sub InsérerFQ()

' InsérerFQ Macro

Sheets(Array("Janvier", "Février", "Mars", "Avril", "Mai", "juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre")).Select

Sheets("Récap").Activate

ActiveCell.Select

Sheets("Données").Select

Range("A17:AQ17").Select

Selection.Copy

Sheets(Array("Janvier", "Février", "Mars", "Avril", "Mai", "juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre")).Select

ActiveCell.Select

ActiveSheet.Paste

Sheets("Données").Select

Range("A17:C17").Select

Selection.Copy

Sheets("Récap").Select

ActiveCell.Select

ActiveSheet.Paste

End Sub

Bonjour,

mais pour les autres feuilles, elle se fait aprtir de A1.

et tu voudrais sur quelle ligne ?

Le mieux serait d'envoyer le fichier (raccourci si besoin)

Amicalement

Claude

Je souhaite que la copie se fasse sur la même ligne que celle sélectionnée en feuille "Récap". Sur cette feuille Récap, la copie se fait sur l'ActiveCell.

Merci

re,

y-a t-il d'autres feuilles à part les mois(Array(... et "Récap" ?

si oui, lesquelles ?

édit: tu veux copier ou insérer ? ton code copie sans insérer !

Claude

Il n'y a pas d'autres feuilles dans lesquelles je veux copier.

Et oui, si je peux insérer la ligne, ce serait encore mieux. (dans toutes les feuilles sélectionnées).

Merci

re,

C'est pas encore clair !

envoie le fichier avec seulement 1 ou 2 mois,

mets des données "bidon" si confidentiel

On s'y perd avec "Données", "Récap", activecell

Claude

Voici le fichier zipper.

re,

Il faut vraiment vous arracher les renseignements nécessaires !

j'ai cru comprendre ceci, dis-nous si c'est çà

on colle à la suite des feuilles (les feuilles mois doivent être placées en dernier comme sur ton fichier)

Double clic sur la ligne de choix en colonne A

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg%, i%
'Macro par Claude Dubois pour "Joshua" Excel-Pratique le 04/10/10
    If Not Application.Intersect(Target, Range("a17,a19,a21,a23,a25")) Is Nothing Then
        Application.ScreenUpdating = False
        Lg = Target.Row
        Range(Cells(Lg, "a"), Cells(Lg, "aq")).Copy
        For i = 4 To Worksheets.Count
            With Worksheets(i)
                .Paste .Range("A65536").End(xlUp)(2)
            End With
        Next i
        Range(Cells(Lg, "a"), Cells(Lg, "c")).Copy
            With Sheets("Récap")
                .Paste .Range("A65536").End(xlUp)(2)
            End With
        Application.CutCopyMode = False
        Range("a1").Activate
    End If
End Sub

Amicalement

Claude

Bon, visiblement, je me suis mal exprimé.

Je souhaite à partir d'une cellule sélectionner en feuille "Récap" copier une ligne en insertion provenant de la feuille "Données" dans les autres feuilles mais sur la même ligne que celle sélectionnées sur Feuille "Récap".

A force de tatonnement, je suis arrivé à mes fins.

Je joins le code final. Merci de me dire s'il n'y aurait pas d'amélioration à apporter pour le même résultat.

En effet, le code que Claude m'a fournit m'a l'air plus concit mais plus compliqué pour moi (je suis vraiment un néophyte en VBA).

Sub InsérerFQ()

' InsérerFQ

' Macro enregistrée le 04/10/2010 par lgu463

Sheets(Array("Récap", "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre")).Select

Sheets("Récap").Activate

ActiveCell.EntireRow.Select

Selection.Insert Shift:=xlDown

Sheets("Données").Select

Rows("17:17").Select

Selection.Copy

Sheets("Janvier").Select

Sheets(Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", _

"Septembre", "Octobre", "Novembre", "Décembre")).Select

Sheets("Janvier").Activate

ActiveCell.Offset(-1, 0).Select

ActiveSheet.Paste

Sheets("Données").Select

Range("A17:C17").Select

Application.CutCopyMode = False

Selection.Copy

Sheets("Récap").Select

ActiveCell.Offset(-1, 0).Select

ActiveSheet.Paste

End Sub

En tout cas, merci Claude d'avoir pris du temps pour m'aider.

re,

laisse tomber ta macro et envoie un exemple avec 1 ou 2 lignes copiées

Claude

Ok,

voici le fichier avec quelques lignes copiées.

A noter que la macro doit se déclencher en se positionnant colonne A de la feuille "Récap".

Si je me positionne en A8 feuille"Récap", je veux que les copies à effectuer se fassent sur les lignes (08:08) des autres feuilles. Si je me positionne en A15, je souhaite que les copies s'effectuent sur les lignes (15:15).

Et puisque tu es visblement un spécialiste, explique moi en quoi la macro enregistrée présente des inconvénients.

D'avance je te remercie

re,

explique moi en quoi la macro enregistrée présente des inconvénients.

Pas d'inconvénients, juste question de style !

mais si çà marche, c'est bon

Je n'ai toujours pas compris la finalité, j'abandonne !

comme quoi c'est pas facile d'expliquer ce qu'on veut.

Amicalement

Claude

En tout cas Merci à tous ceux qui ont pris la peine de me lire et à Claude pour son aide.

Rechercher des sujets similaires à "copie activecell"