XL 2019 Macro pour copier insere une plage de cellules

Bloody_Toad

XLDnaute Nouveau
Bonjour

je souhaiterais faire et comprendre une petite macro pour copier /insérer une plage de cellule, (toujours les cellules de B aK + la cellule selectionner A de la ligne )les sous la cellule sélectionner.
je ne sais pas si je suis bien clair :)

Merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Bloody_Toad,
Pourriez vous fournir un petit fichier test représentatif avec l'attendu, ce serait plus simple.
les cellules de B aK + la cellule selectionner A de la ligne
Donc les cellules A à K ?
sous la cellule sélectionner
Comme la cellule sélectionnée est en colonne A, cela revient à coller les cellules A(n):K(n) en lignes A(n+1):K(n+1) ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Un essai en PJ avec cette macro que j'ai essayé de commenter :
VB:
Sub InsererLigne()
    L = ActiveCell.Row                                          ' On récupère le N° de ligne de la cellule active
    Application.DisplayAlerts = False                           ' On supprime les alertes ( car demande fichier )
    Range("A" & L & ":K" & L).Copy                              ' On copie les cellules A:K de la ligne active
    Range("A" & L & ":K" & L).Insert Shift:=xlDown              ' On insère une ligne et colle les valeurs
    Range("A" & L + 1 & ":K" & L + 1).Interior.Pattern = xlNone ' On supprime la couleur jaune
    Application.DisplayAlerts = True                            ' On remet les alertes en place
End Sub
Pour insérer une ligne, on clique sur une cellule et on appuie sur le bouton.
Une ligne est créer et les valeurs et formules de la ligne précédente sont copiées.
Le Application.DisplayAlerts = False est pour supprimer la demande de fichier qui est demandé, à cause des cellules M17 et M18 qui pointe sur un fichier. Une fois installé avec le fichier en place ( Pointage -04.00-2021.xlsm ) ces deux lignes peuvent être supprimées.
 

Pièces jointes

  • hebdo essais .xlsm
    44.9 KB · Affichages: 6

Bloody_Toad

XLDnaute Nouveau
Re,
Un essai en PJ avec cette macro que j'ai essayé de commenter :
VB:
Sub InsererLigne()
    L = ActiveCell.Row                                          ' On récupère le N° de ligne de la cellule active
    Application.DisplayAlerts = False                           ' On supprime les alertes ( car demande fichier )
    Range("A" & L & ":K" & L).Copy                              ' On copie les cellules A:K de la ligne active
    Range("A" & L & ":K" & L).Insert Shift:=xlDown              ' On insère une ligne et colle les valeurs
    Range("A" & L + 1 & ":K" & L + 1).Interior.Pattern = xlNone ' On supprime la couleur jaune
    Application.DisplayAlerts = True                            ' On remet les alertes en place
End Sub
Pour insérer une ligne, on clique sur une cellule et on appuie sur le bouton.
Une ligne est créer et les valeurs et formules de la ligne précédente sont copiées.
Le Application.DisplayAlerts = False est pour supprimer la demande de fichier qui est demandé, à cause des cellules M17 et M18 qui pointe sur un fichier. Une fois installé avec le fichier en place ( Pointage -04.00-2021.xlsm ) ces deux lignes peuvent être supprimées.
Merci beaucoup beaucoup ça marche Nickel.
de plus avec tes explication j'ai pu supprimé les deux commandes pour les alertes et la commande pour la ligne jaune qui était sur la PJ juste pour montrer ce que je voulais.

ENCORE un GRAND MERCI ;-)
 

juvaxe

XLDnaute Occasionnel
Bonjour

Lorsque j'ai des interrogations sur la façon d'écrire une macro en VBA, je cherche sur les forums. Mais, souvent, dans mon Excel j'active la procédure "enregistrer une macro", j'enchaine en faisant les manipulations qui m'intéressent, ensuite je fais "fin de l'enregistrement".

Il me suffit ensuite d'aller consulter la macro qu'Excel a enregistré.

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon