Le Bonjour à tous les membres,
J'ai un problème au niveau de la feuille "CHGE-DIRECT", en cliquant sur "Mise à jour" je n'obtient pas de résultat.
Merci pour tout effort de votre part.
Sub CHGETRT()
'
' CHGETRT Macro
'
With Sheets("CHGE-DIRECT")
With .Range("B11:L87")
.Value = 0
.Formula = "=INDEX(BARESULTAT!$A$1:$CA$500,MATCH(B$10,BARESULTAT!$A$1:$A$500,0),MATCH($A11,BARESULTAT!$C$1:$CA$1,0))"
.Value = .Value
End With
End With
MsgBox "Charges Directes de la Période " & Month(Now()) & ("/") & Year(Now()) & " Réalisées avec succès"
End Sub
La formule n'était pas bonne
2) Vos valeur en ligne 1 de la feuille "BARESULTAT" ne sont pas des chiffres mais du texte
Faites F2 puis Entrée dans chaque cellule
Ou plus simple copiez la valeur 1 dans une cellule et collage spécial valeur par multiplication
Au moins 3 erreurs dans la formule insérée :
- La ligne des familles des comptes(60, 61...) est en ligne 10 (donc B10, et non B2)
- Dans l'onglet "BARESULTAT", les comptes sont en ligne 1 (et non 1:3) donc $C$1:$AC$1
- Ces comptes sont au format "Texte" et non numériques (à l'inverse des comptes en colonne A) - On peut corriger en ajoutant &"""" dans la formule afin de convertir en texte également le numéro de compte
Essaie en modifiant ainsi la formule :
VB:
....
....
With Feuil4.[B11:L87]
.Formula = "=INDEX(BARESULTAT!$C$3:$CA$500,MATCH(B$10,BARESULTAT!$A$2:$A$500,0),MATCH($A11&"""",BARESULTAT!$C$1:$CA$1,0))"
.Value = .Value
End With
....
....
Sub CHGETRT()
'
' CHGETRT Macro
'
With Sheets("CHGE-DIRECT")
With .Range("B11:L87")
.Value = 0
.Formula = "=INDEX(BARESULTAT!$A$1:$CA$500,MATCH(B$10,BARESULTAT!$A$1:$A$500,0),MATCH($A11,BARESULTAT!$C$1:$CA$1,0))"
.Value = .Value
End With
End With
MsgBox "Charges Directes de la Période " & Month(Now()) & ("/") & Year(Now()) & " Réalisées avec succès"
End Sub
La formule n'était pas bonne
2) Vos valeur en ligne 1 de la feuille "BARESULTAT" ne sont pas des chiffres mais du texte
Faites F2 puis Entrée dans chaque cellule
Ou plus simple copiez la valeur 1 dans une cellule et collage spécial valeur par multiplication