Sélectionner plusieurs cellules avec Rows

Bonjour,

Dans mon tableau j'ai recherché des codes très simples pour copier la dernière ligne de mon tableau et la coller sur la ligne d'après.

Mon soucis c'est que ma macro ne colle que la dernière valeur de la colonne A et je voudrais coller les valeurs des colonnes A, B et C.

Peut-être que je n'utilise pas la bonne commande ?

Merci d'avance.

7copier-coller.xlsm (22.24 Ko)

Bonjour,

Je n'ai pas pu m'empêcher de "complexifier" le code:

Private Sub CommandButton1_Click()
Dim ligFin As Integer

With Sheets("datas")
    ligFin = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range(.Cells(ligFin, 1), .Cells(ligFin, 3)).Copy Sheets("datas").Cells(ligFin + 1, 1)
End With
End Sub

Je stocke le numéro de la dernière ligne remplie dans une variable pour la réutiliser ensuite, elle est de type Integer.

J'utilise With Sheets("datas") pour ne pas avoir à répéter ça partout. Quand j'écris

.Cells(Rows.Count, 1).End(xlUp).Row

Dans With ... End With, ça équivaut à

Sheets("datas").Cells(Rows.Count, 1).End(xlUp).Row

Enfin, le principal souci c'était la copie d'une Cells qui représente une seule cellule, je l'ai remplacé par Range qui peut représenter une plage contenant plusieurs cellules, je lui ai donné la cellule de départ, et la cellule de fin, la plage étant l'ensemble des cellules entre le départ et la fin.

J'ai aussi modifié la définition de la cellule où on copie la donnée en réutilisant la variable ligFin à laquelle j'ajoute 1 pour avoir la ligne en dessous.

12copier-coller.xlsm (22.92 Ko)

Merci Ausecours, rien à dire, c'est nickel.

Du coup j'abuse un peu car je vais adapter ta macro sur mon fichier final (en pièce jointe) et j'ai 3 choses qui me posent problèmes avec mon tableau croisé (vu ton niveau tu auras certainement une solution...) :

Ce TCD me merpet d'envoyer un planning propre pour chaque journée concernée.

1 - Comment faire en sorte que les cellules avec marqué (vide) ne contiennent rien ? J'ai essayer avec les options du TCD mais rien ne se passe...

2 - Est-il possible (sans devoir faire plusieurs TCD) de sauter une ligne lorsque le conducteur change ? À défaut faire plusieurs TCD identiques mais il faut que le segment les commandent tous...

3 - Comment ne pas afficher la colonne "Total" sans masquer la colonne G ? Avec les options classiques je n'y arrive pas.

Encore merci.

Je ne sais malheureusement pas répondre à la question 1, j'avoue avoir du mal avec les TCD... J'ai beau avoir essayé de modifier le texte pour les cellules vides, jouer sur le format d'affichage, je n'ai rien trouvé.

2- Oui c'est possible, tu vas dans les paramètres du champ conducteur, disposition puis "insérer un saut de ligne après chaque étiquette d'élément"

3- ça te l'affiche automatiquement car tu as quelque chose dans valeur, une astuce peut-être d'avoir la même couleur de police que le fond, comme ça tu ne le verras pas, on peut changer le texte pour avoir le nom de la valeur si on décoche "disposition classique du tableau croisé dynamique"

Je ne suis peut-être pas le meilleur interlocuteur pour les TCD

Merci, j'ai dèjà la solution pour le saut de ligne.

Rechercher des sujets similaires à "selectionner rows"