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

Microsoft 365 Insérer un résultat dans une cellule d'un tableau

  • Initiateur de la discussion Initiateur de la discussion Alain 79
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alain 79

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Tout d'abord, 'adresse tous mes meilleurs voeux pour cette nouvelle année à tous les participants de ce forum.

J'ai un fichier avec un tableau, dont un exemple ci-joint, dans j'ajoute une nouvelle ligne à l'aide d'un bouton de commande et je souhaiterai que la deuxième colonne se remplisse automatiquement en indiquant le 1er jour du mois de la date située dans la cellule au-dessus.

Mon fichier, je pense, sera plus explicite que mes explications.

Par avance Merci
 

Pièces jointes

Solution
Re,
Peut être plus lisible :
Code:
Sub NouvelleLigne()
Dim N%                                              ' N, N° de ligne en "integer"
With Sheets("Feuil1")                               ' Avec la feuille 1
    .Unprotect                                      ' La déprotéger
    N = 1 + [Tableau1].ListObject.ListRows.Count    ' N° de la nouvelle ligne
    [Tableau1].ListObject.ListRows.Add              ' On ajoute une ligne
    [Tableau1[Sup.]].Item(N) = 1                    ' On remplit la colonne Sup.
    [Tableau1[Taux]].Item(N) = [F2]                 ' On remplit la colonne Taux
    [Tableau1[Période]].Item(N) = Application.EoMonth([Tableau1[Période]].Item(N - 1), 1) ' Nouvelle date
    .Protect
End With
End Sub
Bonjour Alain,
Un essai en PJ avec :
VB:
Acquisition dernière date :
DatePrec = Range("C" & Rows.Count).End(xlUp).Value
Nouvelle date :
Range("C" & Rows.Count).End(xlUp).Value = Application.EoMonth(DatePrec, 1)
 

Pièces jointes

Re,
Peut être plus lisible :
Code:
Sub NouvelleLigne()
Dim N%                                              ' N, N° de ligne en "integer"
With Sheets("Feuil1")                               ' Avec la feuille 1
    .Unprotect                                      ' La déprotéger
    N = 1 + [Tableau1].ListObject.ListRows.Count    ' N° de la nouvelle ligne
    [Tableau1].ListObject.ListRows.Add              ' On ajoute une ligne
    [Tableau1[Sup.]].Item(N) = 1                    ' On remplit la colonne Sup.
    [Tableau1[Taux]].Item(N) = [F2]                 ' On remplit la colonne Taux
    [Tableau1[Période]].Item(N) = Application.EoMonth([Tableau1[Période]].Item(N - 1), 1) ' Nouvelle date
    .Protect
End With
End Sub
 

Pièces jointes

Oui surement pls lisible, mais surtout plus pro. La 1ére version fonctionne parfaitement et le résultat correspond exactement à ce que je recherchais.
Bien entendu la 2éme version fonctionne tout aussi bien.
Bravo et merci
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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