Bonjour à tous,
C'est mon premier message sur ce forum, sur lequel j'ai déjà trouvé beaucoup d'informations qui m'ont permis de faire différents essais et de comprendre la logique de vba (je ne suis pas débutante sur Excel mais en VBA oui, assez néophyte même !).
Voilà ma question : j'ai un fichier de suivi d'activité d'un service. Toutes les colonnes contiennent des contraintes de validation de données et des formats variés, et les 5 dernières colonnes (Y à AC) contiennent des formules.
Ce fichier est utilisé par de nombreuses personnes et j'ai tenté de le contraindre un maximum (d'où les validations de données) car il sert in fine à réaliser des statistiques de l'activité du service !
J'ai ajouté un bouton de contrôle, et avec l'enregistreur de macro, j'ai copié la dernière ligne, inséré juste en dessous la ligne copiée, et effacé les données (mais pas le reste, formats, validations...) des colonnes Y à AC de cette ligne. J'ai affecté cette macro à mon bouton et il fait bien ce que je lui demande... C'est à dire qu'il copie la ligne 946 et l'insère en 947 en conservant tout ce que je veux conserver
Idéalement, j'aimerais utiliser quelque chose comme Derlig +1 ou End(XlDown) pour que cette ligne copiée soit systématiquement insérée après la dernière ligne remplie (en me basant sur la dernière ligne remplie en colonne A), et ensuite opérer un ClearContents des colonnes A à X de cette nouvelle ligne, quelle que soit sa position à ce moment là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub Ajout_Ligne_Suivi() ' Ajout_Ligne_Suivi Macro Rows("946:946").Select Selection.Copy Rows("947:947").Select Selection.Insert Shift:=xlDown Range("A947:X947").Select Application.CutCopyMode = False Selection.ClearContents Range("A947").Select End Sub
J'ai fait plusieurs essais infructueux (notamment un qui m'a fait un peu peur, lorsque j'ai tenté un Range("A:X").ClearContents et que toutes mes lignes ont disparu
Si vous pouvez m'aider à remettre tout ça dans le bon sens, ce serait top !
Merci beaucoup et bonne journée !
Partager