XL 2019 Calcul VBA sur plusieurs cellule à suivre

Stephandevendee

XLDnaute Nouveau
Bonjour,

Ca fait une semaine que j'arpente les forums et je ne trouve pas la solution.
Si vous pouviez m'aider, j'en serais heureux.
J'ai créé un tableau qui me permet d'extraire des données qui viennent d'un fichier TXT.
Mon soucis est que dans la première colonne, j'ai uniquement le jour de la semaine (27) mais j'ai besoin de la date complète (27/07/2021).
J'ai réussi à le faire sur ma première ligne mais je voudrais que le calcul se fasse jusqu'à la dernière données.
En clair, je voudrais coller la formule datevalue vers la dernière ligne.
La donnée du jour est une variable (range ("B2:B...") et l'année et le mois sont rempli grâce à un messageBox.
Voici ma formule :

Dim Annee_compt As Variant
Dim Mois_compt As Variant
Dim dernligne As Long
Dim num_ligne As Integer


Annee_compt = InputBox("Quelle année du comptage ?")
Mois_compt = InputBox("Quelle mois du comptage ?")



dernligne = Range("A" & Rows.Count).End(xlUp).Row
For num_ligne = 2 To dernligne



Range("F2:F" & dernligne).Formula = DateSerial(Annee_compt, Mois_compt, Cells(num_ligne, 2))

Next

Si quelqu'un pouvait m'aider ça serait avec grand plaisir.
D'avance merci
 
Solution
Bonjour,

Ca fait une semaine que j'arpente les forums et je ne trouve pas la solution.
Si vous pouviez m'aider, j'en serais heureux.
J'ai créé un tableau qui me permet d'extraire des données qui viennent d'un fichier TXT.
Mon soucis est que dans la première colonne, j'ai uniquement le jour de la semaine (27) mais j'ai besoin de la date complète (27/07/2021).
J'ai réussi à le faire sur ma première ligne mais je voudrais que le calcul se fasse jusqu'à la dernière données.
En clair, je voudrais coller la formule datevalue vers la dernière ligne.
La donnée du jour est une variable (range ("B2:B...") et l'année et le mois sont rempli grâce à un messageBox.
Voici ma formule :

Dim Annee_compt As Variant
Dim Mois_compt As Variant...

Jacky67

XLDnaute Barbatruc
Bonjour,

Ca fait une semaine que j'arpente les forums et je ne trouve pas la solution.
Si vous pouviez m'aider, j'en serais heureux.
J'ai créé un tableau qui me permet d'extraire des données qui viennent d'un fichier TXT.
Mon soucis est que dans la première colonne, j'ai uniquement le jour de la semaine (27) mais j'ai besoin de la date complète (27/07/2021).
J'ai réussi à le faire sur ma première ligne mais je voudrais que le calcul se fasse jusqu'à la dernière données.
En clair, je voudrais coller la formule datevalue vers la dernière ligne.
La donnée du jour est une variable (range ("B2:B...") et l'année et le mois sont rempli grâce à un messageBox.
Voici ma formule :

Dim Annee_compt As Variant
Dim Mois_compt As Variant
Dim dernligne As Long
Dim num_ligne As Integer


Annee_compt = InputBox("Quelle année du comptage ?")
Mois_compt = InputBox("Quelle mois du comptage ?")



dernligne = Range("A" & Rows.Count).End(xlUp).Row
For num_ligne = 2 To dernligne



Range("F2:F" & dernligne).Formula = DateSerial(Annee_compt, Mois_compt, Cells(num_ligne, 2))

Next

Si quelqu'un pouvait m'aider ça serait avec grand plaisir.
D'avance merci
Bonjour,
Hello chris
En dehors du bon conseil de chris et selon ton code, essaie ceci
Dans cet exemple le jour est en colonne A. Sinon modifier $a2 par $b2 si le jour est en colonne B
VB:
Sub test()
    Dim Annee_compt&
    Dim Mois_compt&
    Dim dernligne&
    Annee_compt = InputBox("Quelle année du comptage ?")
    Mois_compt = InputBox("Quelle mois du comptage ?")
    dernligne = Range("A" & Rows.Count).End(xlUp).Row
    Range("F2:F" & dernligne).Formula = "=Date(" & Annee_compt & "," & Mois_compt & ",$a2 )"
    Range("F2:F" & dernligne).Value = Range("F2:F" & dernligne).Value ' supprime la formule
End Sub
 
Dernière édition:

Stephandevendee

XLDnaute Nouveau
Bonjour,

Merci beaucoup chris et jacky67 pour le temps que vous m'avez accordé.
jacky67 ta formule marche parfaitement, merci beaucoup et je n'aurais pas trouvé tout seul car mon niveau n'est pas élevé.
chris, je ne connais pas les tableaux structurés mais je vais regardé de près.
Encore merci
Stephan
 

Discussions similaires