A
amand81
Guest
Bonjour,
je débute en VBA et j'ai déjà un souci:
lorsque je change une date dans ma colonne A, je souhaiterais que dans la dernière colonne de la même feuille, je retrouve le mois et l'année de cette date. En plus, la dernière colonne n'est pas toujours la même, j'ai donc fait une procédure qui la calcule (calcul_nb_colonnes).
Voici mes différentes procédures concernées:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ligne As Integer
calcul_nb_lignes nb_lignes 'calcule le nombre de lignes de ma feuille
calcul_nb_colonnes nb_colonnes, tot_def, valor, code 'retourne des numéros de colonnes spécifiques If Not Application.Intersect(Target, Range(Cells(4, 1), Cells(nb_lignes, 1))) Is Nothing Then
ligne = Target.Row 'je récupère le numéro de la ligne qui vient d être modifié
Cells(ligne, valor + 1) = calcul_mois_annee(ligne) 'la dernière cellule reçoit la valeur calculée
End If
End Sub
et dans un module j'ai:
Function calcul_mois_annee(c As Integer)
Dim mois_annee As Variant
Dim chiffre As Variant
chiffre = '=ADDRESS(c, 1, 4)' 'chiffre reçoit l'adresse de la case qui a été modifiée
mois_annee = '=CONCATENATE(MONTH(INDIRECT(chiffre)),''/'',YEAR(INDIRECT(chiffre)))'
calcul_mois_annee = mois_annee
End Function
Alors, lorsque je modifie une date dans ma feuille, la dernière colonne m'affiche #NOM?
et si je vais dessus, je trouve : =CONCATENER(MOIS(INDIRECT(chiffre));'/';ANNEE(INDIRECT(chiffre)))
Le 'chiffre' n'est pas interprêté. Je ne sais pas comment faire pour qu'il le soit.
Merci d'avance.
je débute en VBA et j'ai déjà un souci:
lorsque je change une date dans ma colonne A, je souhaiterais que dans la dernière colonne de la même feuille, je retrouve le mois et l'année de cette date. En plus, la dernière colonne n'est pas toujours la même, j'ai donc fait une procédure qui la calcule (calcul_nb_colonnes).
Voici mes différentes procédures concernées:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ligne As Integer
calcul_nb_lignes nb_lignes 'calcule le nombre de lignes de ma feuille
calcul_nb_colonnes nb_colonnes, tot_def, valor, code 'retourne des numéros de colonnes spécifiques If Not Application.Intersect(Target, Range(Cells(4, 1), Cells(nb_lignes, 1))) Is Nothing Then
ligne = Target.Row 'je récupère le numéro de la ligne qui vient d être modifié
Cells(ligne, valor + 1) = calcul_mois_annee(ligne) 'la dernière cellule reçoit la valeur calculée
End If
End Sub
et dans un module j'ai:
Function calcul_mois_annee(c As Integer)
Dim mois_annee As Variant
Dim chiffre As Variant
chiffre = '=ADDRESS(c, 1, 4)' 'chiffre reçoit l'adresse de la case qui a été modifiée
mois_annee = '=CONCATENATE(MONTH(INDIRECT(chiffre)),''/'',YEAR(INDIRECT(chiffre)))'
calcul_mois_annee = mois_annee
End Function
Alors, lorsque je modifie une date dans ma feuille, la dernière colonne m'affiche #NOM?
et si je vais dessus, je trouve : =CONCATENER(MOIS(INDIRECT(chiffre));'/';ANNEE(INDIRECT(chiffre)))
Le 'chiffre' n'est pas interprêté. Je ne sais pas comment faire pour qu'il le soit.
Merci d'avance.