Problème sur un code VBA

  • Initiateur de la discussion Initiateur de la discussion hypo78
  • 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 !

hypo78

XLDnaute Impliqué
Bonjour à tous,

Mon code suivant me sert à créer des formules dans des cellules en fonction d'une date en colonne A

Code:
Private Sub MAJPiquets()

Application.Calculation = xlCalculationManual

Dim gardedujour As String
Dim j As Integer
Dim jourgarde As Date

Sheets("Piquets2").Activate

For j = 122 To 131

jourgarde = Cells(j, 1)
jourgarde = Format(jourgarde, "dd/mm/yyyy")

gardedujour = ThisWorkbook.Path & "\" & Format(jourgarde, "yyyy") & "\" & Format(jourgarde, "mmmmyyyy")



'chef de garde
Cells(j, 2) = "='" & gardedujour & "\[" & Format(jourgarde, "ddmmmmyyyy"".xls") & "]01'!$W$4"
'stationnaire
Cells(j, 4) = "='" & gardedujour & "\[" & Format(jourgarde, "ddmmmmyyyy"".xls") & "]01'!$AW$4"

Next j

End Sub

la formule renvoyée est donc du type :

Code:
='\\Pttfs01\hoi\Ressources humaines\Feuilles de garde\2014\Novembre2014\[05novembre2014.xls]01'!$W$4

et pour je ne sais quelle raison sur certaines lignes elle est :
Code:
='\\Pttfs01\hoi\2014\novembre2014\[06novembre2014.xls]01'!$W$4

Parfois la ligne était complète mais j'avais 2 \\ entre Feuilles de garde et 2014

Je ne vois comment et pourquoi ce code peut renvoyer "aléatoirement" la bonne formule.

Merci d'avance de jeter un oeil à mon problème
 
Re : Problème sur un code VBA

Bonjour à tous


Puisque tu dis qu'il y a des dates en colonne A, voici ton code modifié en conséquence
Code:
Private Sub MAJPiquets()
Application.Calculation = xlCalculationManual
Dim gardedujour$, nfic$, j%, jourgarde As Date
For j = 122 To 131
jourgarde = Cells(j, 1)
gardedujour = ThisWorkBookPath & "\" & Year(jourgarde) & "\" & Format(jourgarde, "mmmmyyyy")
nfic = Format(jourgarde, "ddmmmmyyyy"".xls")
'chef de garde
Cells(j, 2) = "='" & gardedujour & "\[" & nfic & "]01'!$W$4"
'stationnaire
Cells(j, 4) = "='" & gardedujour & "\[" & nfic & "]01'!$AW$4"
Next j
End Sub

Quand à savoir le pourquoi du phénomène constaté, peut-être voir si tes cellules contiennent bien de vrais dates.
 
- 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

Réponses
5
Affichages
839
V
Réponses
17
Affichages
3 K
VBgalère
V
S
Réponses
13
Affichages
2 K
Stedemart
S
D
Réponses
2
Affichages
924
D
Réponses
0
Affichages
823
Réponses
7
Affichages
1 K
J
Réponses
1
Affichages
1 K
N
  • Question Question
Réponses
5
Affichages
3 K
E
Réponses
2
Affichages
2 K
Retour