Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Macro excel : Copier-Coller cellules vers des cellules vides à la suite

Julien91

XLDnaute Nouveau
Bonjour
je recherche à réaliser une macro pour tenir à jour un historique.
J'ai créer un bouton pour chaque ligne (trimestre).
Je recherche un moyen d'avoir un seul bouton qui enregistre d'une ligne à l'autre à la suite si les cellules ne sont pas vides à chaque clique.

Mon code actuel est :

Sub Enregistrer_historique_T2_2022()
'
' Enregistrer_historique_T2_2022 Macro
'

'
Range("C2:GG2").Select
ActiveWindow.ScrollColumn = 138
ActiveWindow.ScrollColumn = 125
ActiveWindow.ScrollColumn = 6
ActiveWindow.ScrollColumn = 1
Selection.Copy
Range("C6").Select
ActiveSheet.Paste
End Sub

Y aurait-il svp une âme charitable qui pourrait me donner un code VBA pouvant faire çà?

Merci d'avance.

Bonne soirée
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Julien, CP4,
Un essai en PJ. J'ai retiré tous ces boutons. Il suffit de cliquer sur une cellule rose en colonne A pour copier les données sur la ligne sélectionnée. Avec en macro événementielle :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, [A5:A32]) Is Nothing Then
        Application.ScreenUpdating = False
        Range("C2:GG2").Copy
        Range("C" & Target.Row).Select
        ActiveSheet.Paste
        [A1].Select
    End If
Fin:
End Sub
 

Pièces jointes

  • Macro excel Copier-Coller cellules vers des cellules vides à la suite.xlsm
    40.9 KB · Affichages: 5
Réactions: cp4

Julien91

XLDnaute Nouveau
Ma demande n'était pas claire.
Je vais recevoir trimestriellement des exports Excel d'enquête Forms sur la ligne 2 du fichier.

Actuellement, j'ai réalisé un bouton par trimestre (voire colonne A) permettant de sauvegarder l'historique.
Je clique sur le bouton en A5 pour sauvegarder au T1 2022.
Je clique sur le bouton en A6 pour sauvegarder au T2 2022.

Mais, le risque est que les futures utilisateurs clique sur le bouton du trimestre 1 au trimestre 2.
Il y a donc un risque potentiel de perte de l'historique en cas de sauvegarde et de temps.

J'ai identifié deux axes d'amélioration.

Cas 1 : L'idée est d'avoir un unique bouton qui permettent de sauvegarder les résultats dans un l'historique.
Au trimestre 1 2022, je clique sur ce bouton et les cellules de la Ligne 2 apparaissent en ligne 5.
Au trimestre 2 2022, je clique une deuxième fois sur le bouton et les cellules de la Ligne 2 apparaissent en ligne 6.


Je ne sais pas si s'est possible.

Cas 2 : Si ce n'est pas possible alors je peux continuer sur mes macros actuel, mais j'ai besoin de les améliorer.

Pour éviter les risques ci-dessus, je souhaite pouvoir empêcher le bouton de s'activer si les cellules sont déjà remplis (ou si le bouton à déjà été activé peut-être).

Ainsi, même s'ils cliquent sur le bouton du trimestre 1 au trimestre 2 les données du trimestre 1 ne seront pas écrasés.
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir,
Un essai en PJ. A chaque appui sur le bouton la ligne est archivée sur la première ligne vide.
La feuille est protégée. Pour modifier une ligne si erreur, il faut déprotéger la feuille, mot de passe : julien
Avec :
VB:
Sub Archiver()
On Error GoTo Fin
    Application.ScreenUpdating = False
    ActiveSheet.Unprotect Password:="julien"
    Range("B2:GG2").Copy
    Range("B" & 1 + Range("B65500").End(xlUp).Row).Select
    ActiveSheet.Paste
    [A1].Select
    ActiveSheet.Protect Password:="julien"
Fin:
End Sub
 

Pièces jointes

  • Macro excel Copier-Coller cellules vers des cellules vides à la suite 2.xlsm
    41.4 KB · Affichages: 7

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…