XL 2016 Macro "copier une cellule, coller jusqu'à dernière cellule non-vide "

JhnnPhl

XLDnaute Nouveau
Bonjour,

Je cherche à appliquer une macro afin d'automatiser la mise en place d'une formule dans un rapport que j'inserts dans Excel.

Comme vous pourrez le constater dans l'exemple joint, je souhaite coller jusqu'à dernière cellule non-vide (même si cette dernière ne fait pas parti d'un tableau).

Est-ce possible?

En complément d'information, je souhaite l'inclure dans cette macro:

VB:
Sub Macro1()
'
' Macro1 Macro
'
' Touche de raccourci du clavier: Ctrl+q
'
    Columns("A:A").Select
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("A4").Select
    ActiveSheet.Paste
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
Dim nlm&, col%, dlg&, lig&
  nlm = Rows.Count: Application.ScreenUpdating = 0
  For col = 9 To 15 'colonnes I à O
    dlg = Cells(nlm, col).End(3).Row
    For lig = 4 To dlg
      With Cells(lig, col)
        If Not IsEmpty(.Value) Then
          .Value = Replace$(Replace$(.Value, ",", ""), ".", ",") * 1
          .NumberFormat = "# ##0.00\ €"
        End If
      End With
    Next lig
  Next col
End Sub
il m'est possible d’insérer le code après "Next col" n'est-ce pas?

Merci d'avance pour votre aide :)
 

Fichiers joints

Dudu2

XLDnaute Accro
Bonjour,
Comme vous pourrez le constater dans l'exemple joint, je souhaite coller jusqu'à dernière cellule non-vide.
Tu souhaites coller quoi ? ou ?
Le quoi est-il toujours la cellule C2 ?
Le ou est-il la 1ère cellule du Tableau1 pour commencer ?
(même si cette dernière ne fait pas parti d'un tableau)
Le tableau est limité par la ligne de Total non vide, donc ça n'ira pas plus loin, sinon il faut modifier le Tableau1 pour retirer la ligne Total.

De plus en valorisant la 1ère cellule du Tableau1, il est automatiquement rempli par Excel de la formule de la 1ère cellule, de sorte que le traitement s'arrête immédiatement après la 1ère cellule car la 2ème a été valorisée par Excel.
 
Dernière édition:

soan

XLDnaute Accro
Re,

Lis d'abord mon post #3

Pour ta présente demande, voir le fichier joint.

Ctrl e ➯ travail effectué

* la donnée en C2 est copiée en C4:C17

* bien sûr, la macro ne fait rien si C2 est vide !

soan
 

Fichiers joints

JhnnPhl

XLDnaute Nouveau
Bonjour soan, Bonjour Dudu2,

Merci à tout les deux pour votre aide!

soan honte sur moi, je ne vous ai effectivement pas répondu, excusez moi! Comme vous l'aviez indiqué dans votre post #12, Activesheet.UsedRange engendrait une erreur dans certains contextes. Votre code proposé est très efficace et je m'en sers maintenant quotidiennement! :) milles merci!

Je vous remercie une nouvelle fois pour la solution apporté qui est très efficace et, si je la comprends bien, très ingénieuse!

Je pense avoir commis une erreur en indiquant une somme dans la dernière cellule. Pour être précis, la colonne C comportera des pourcentages, qui découlant des montants dans les colonnes A et B. Ainsi, dans le cas où ma ligne total doit indiqué une somme, le code fonctionnera parfaitement!
Cependant, dans mon cas, je souhaite appliquer la formule (ici se trouvant la cellule C2) dans la dernière cellule non vide de ma colonne. (jai modifié le fichier exemple en conséquence)

Merci de votre aide!
 

Fichiers joints

soan

XLDnaute Accro
Bonjour JhnnPhl, le fil,

Ctrl e ➯ c'est ok : la formule de la cellule C2 est en C18. :)

Cela dit, je ne comprends pas quel en est l'intérêt, vu qu'avec
les tableaux structurés, la formule est automatiquement
recopiée sur les lignes ajoutées en bas.

(si toutefois les bonnes options d'Excel sont cochées)


soan
 

Fichiers joints

JhnnPhl

XLDnaute Nouveau
Bonjour JhnnPhl, le fil,

Ctrl e ➯ c'est ok : la formule de la cellule C2 est en C18. :)

Cela dit, je ne comprends pas quel en est l'intérêt, vu qu'avec
les tableaux structurés, la formule est automatiquement
recopiée sur les lignes ajoutées en bas.

(si toutefois les bonnes options d'Excel sont cochées)


soan
Merci de votre aide! Je vais me pencher sur les tableaux structurés, peut-être que ma méthode est inadapté.

Merci beaucoup!
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas