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

XL 2019 Tableau et vba.

Paulle

XLDnaute Occasionnel
Bonjour,

Je me lance, je débute en vba.

Voilà ce que j'essaie de faire.
Dans le tableau, insérer la date du jour dans la première cellule vide de la colonne "A".
Ensuite, sélection des cellules "B" à "F" et copy dans la ligne vide du dessous de "B" à "F".
Je modifie uniquement les valeurs en "B,C et E" si elles ne conviennent pas.
Tout cela avec "Bouton 6".

Après l'appui sur le bouton, c'est bizarre.

J'ai fait "Convertir en Plage" et là ça fonctionne.
 

Pièces jointes

  • Tableau01.xlsm
    26.3 KB · Affichages: 10
Solution
Re

Comme ceci?
VB:
Sub test_III()
With ActiveSheet.ListObjects(1).ListRows.Add
    .Range(1, 1).Value = Date
    .Range(1, 2).Resize(, 2) = .Range(0, 2).Resize(, 2).Value
    .Range(1, 5) = .Range(0, 5).Value
End With
End Sub

Staple1600

XLDnaute Barbatruc
Bonjour

Affecte cette macro à ton bouton
VB:
Sub test()
Dim t As ListObject
Set t = ActiveSheet.ListObjects(1)
t.ListRows.Add.Range(1, 1).Value = Date
End Sub
La date est insérée dans une nouvelle ligne et les formules existantes recopiées.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Paulle,
Je pense qu'il suffit de changer :
VB:
Sub DerniereLigne()
'Feuille Cours
Range("a2").End(xlDown).Offset(1, 0) = Date
De toute façon y mettre la formule =aujourdhui() est une mauvaise idée, elle changera de valeur demain.
 

Paulle

XLDnaute Occasionnel
C'est parfait, je vois que j'ai beaucoup à apprendre.
J'aurais voulu que les valeurs des colonnes B, C et de la dernière ligne soient recopiées.
Je modifie uniquement les cellules qui ont changé.
 

Staple1600

XLDnaute Barbatruc
Re

Comme ceci?
VB:
Sub test_III()
With ActiveSheet.ListObjects(1).ListRows.Add
    .Range(1, 1).Value = Date
    .Range(1, 2).Resize(, 2) = .Range(0, 2).Resize(, 2).Value
    .Range(1, 5) = .Range(0, 5).Value
End With
End Sub
 

Discussions similaires

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