jeremla
Messages postés3Date d'inscriptionmardi 11 octobre 2011StatutMembreDernière intervention12 octobre 2011
-
11 oct. 2011 à 16:29
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
12 oct. 2011 à 13:27
Bonjour,
Je cherche une solution avec ma macro pour que celle-ci se lance automatiquement à chaque changement d'état de ma colonne B ou A.
J'ai essayé avec l'évènement "Sheetchange" mais ma macro ne tourne pas alors que si je l'affecte à un bouton elle tourne très bien.
Voici mon code :
Sub MAJ()
'Déclaration du workbook et worksheet
Application.Calculation = xlCalculationAutomatic
Dim WbS As Workbook
Dim WsSuivi As Worksheet
Dim nbLigne As Long
Dim Target As Range
' Initialisation du Workbook et Worksheet
Set WbS = Workbooks("Fichier_Suivi.xlsm")
Set WsSuivi = WbS.Worksheets("Suivi")
With Sheets("Suivi")
nbLigne = .Range("B" & .Rows.Count).End(xlUp).Row
End With
' Déclaration des compteurs
Dim i As Long
Dim k As Long
' Début de code
For i = 2 To nbLigne
Select Case WsSuivi.Cells(i, 2).Value
Case "New"
If IsEmpty(WsSuivi.Cells(i, 3)) Then
WsSuivi.Cells(i, 3) = Date
End If
Case "En cours"
If IsEmpty(WsSuivi.Cells(i, 5)) Then
WsSuivi.Cells(i, 5) = Date
End If
Case "A packager"
If IsEmpty(WsSuivi.Cells(i, 9)) Then
WsSuivi.Cells(i, 9) = Date
End If
Case "Livrée"
If IsEmpty(WsSuivi.Cells(i, 11)) Then
WsSuivi.Cells(i, 11) = Date
End If
Case "KO-En cours"
WsSuivi.Cells(i, 3) = Date
For j = 5 To 11
Cells(i, j).Value = ""
Next
End Select
Select Case WsSuivi.Cells(i, 1).Value
Case "CSC"
If IsEmpty(WsSuivi.Cells(i, 7)) Then
WsSuivi.Cells(i, 7) = Date
End If
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 11 oct. 2011 à 17:45
Bonjour,
Avant toute autre chose : tu développes sous VBA (le CVBA de Ewxcel) et non sous VB6 !
Prends dorénavant, s'il te plait, le plus grand soin à choisir la sectio n dans laquelle tu poses une question.
J'ai essayé avec l'évènement "Sheetchange" mais ma macro ne tourne pas alors que si je l'affecte à un bouton elle tourne très bien.
- veux-tu donc nous montrer le code que tu as écrit dans l'évènement SheetChange (depuis Sub jusqu'à End Sub, inclus)
- Présente-nous ce code en l'indentant et en utilisant les balises codes (si tu veux qu'on l'examine, hein).
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 12 oct. 2011 à 11:15
Quel est le format des cellules de la colonne E de ta feuille "suivi" ?
Et sur quelle feuille es-tu à ce moment ? car :
For j = 5 To 11
Cells(i, j).Value = ""
Next
modifie les cellules de la feuille active .
Et si, par ailleurs, la feuille active était la feuille "suivi" à ce moment là :
Il y aurait une contradiction en mettant
WsSuivi.Cells(i, 5) = Date
puis (premier tour de la boucle ci-dessus) en y mettant ""
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 12 oct. 2011 à 13:27
1) si tu es "sur la même feuille" ====>> dis le dans ton code
Et dans ce cas :
---- a) ton end with est à déplacedr dans :
With Sheets("Suivi")
nbLigne = .Range("B" & .Rows.Count).End(xlUp).Row
End With
' il vient trop tôt.
----b) c'est alors :
For j = 5 To 11
.Cells(i, j).Value "" '>>> il y a un point devant.
Next
Quant à :
Comment je peux faire pour annuler cette contradiction ?
ce que tu veux que cela fasse ! (et qu'on ignore !). Tu es bien le seul ,à savoir si tu veux la date du jour ou rien dans ta cellule i,5 !
Ta colonne 5 de ta feuille suivi, enfin, devrait être formatée pour ce qu'elle doiit recevoir ! (des dates, apparemment ?)
Que veux-tu que je te dise d'autre !
Et il semble bien en aller de même pour d'autres colonnes, dont la colonne C, la colonne G, la colonne I et la colonne K !
Mais là, vois-tu, ce n'est plus uniquement un problème de code, mais également un problème de conception (et tu es bien le seul à savoir ce que tu conçois)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient