VBA : Userform et NO.SEMAINE

vsan

XLDnaute Junior
Bonjour à Tous! ;)


J'ai un problème avec un bout de code VBA qu'un collègue m'a donné afin de solutionner un problème : je ne comprend rien à ce qu'il a fait... Et comme il est pas dispo pour le moment et que je voudrais comprendre rapidement, je m'adresse à vous!

Voici le code problématique :

10 If Opérateur = '' Then
Message = Message2
End If

'* Chaque élément proposé dans la liste des Opérateurs est comparé
' avec la donnée introduite
' car il est interdit d'entrer une donnée différente de l'un des éléments
For i = 0 To Opérateur.ListCount - 1
If Opérateur.Value = Opérateur.List(i) Then
ContenuCatégorie = 'OK'
End If

Next
'Bon, jusqu'ici je comprend à peu près, il renvoie un message d'erreur si 'la variable Opérateur n'est pas renseignée.

If ContenuCatégorie = '' And Opérateur.Value <> '' Then Message = Message & Chr(13)

'Là je commence à bloquer, c quoi c 'Chr' qui intervient????

If Message <> '' Then
m = MsgBox(Message, vbOKOnly, 'ATTENTION')
'* Si la variable Message est vide, il n'y a aucune erreur
' dans la boîte de dialogue

Else
Entrée
'C quoi la fonction 'Entrée' en VBA??? :eek:

End If

' Relance de la creation du graphique
'ThisWorkbook.Activate
'ThisWorkbook.Application.ActiveWorkbook.Activate

If Message <> '' Then GoTo 20
Unload FormAd
20
End Sub




J'ai aussi un autre problème, plus accessoire, mais bon, bien embétant quand même!
J'utilise la fonction NO.SEMAINE, mais elle me renvoie un numéro incorrect! Elle merdouille (si vous me passez l'expression) à cause du samedi 1er Janvier, qu'elle considère comme appartenant à la semaine 1 de l'année en cours, alors que pour moi, la semaine 1 commence au 3 Janvier! De plus, il faut pour l'utiliser lancer la macro complémentaire 'Utilitaire d'analyse', mais lorsque je la lance après avoir ouvert le fichier, j'ai toujours une erreur dans la cellule! Comment faire pour qu'au lancement du fichier, la macro s'active et surtout les cellules affichent un chiffre et non pas une truc du genre #NOM...

Et pour la fin, une question super complexe, pour les pros :
Est-il possible de déverrouiller des cellules d'une userform? Et de changer leurs couleur de fond, en fonction d'une bouton...

Ex : clic sur bouton 1, on laisse en gris et verrouillé
Clic sur bouton 2, on passe en blanc et on déverrouille.

Merci d'avance,

Vinc'
 

marco57

XLDnaute Occasionnel
Bonsoir Vincent et le forum,
Je ne répondrais pas à toutes tes questions car à mon avis, il serait préférable de nous joindre ton fichier.
Le Chr(13) correspond à un retour chariot ou changement de ligne imposé dans un message.
L'appel à Entrée ne peut correspondre qu'à une procédure dont le code devrait se trouver quelque part dans ton classeur.
Quant au N° de semaine, le premier jour de l'année est nécessairement en semaine 1. Si tu veux autre chose, il faut 'bidouiller' un tout petit peu la fonction.
Pour la dernière question, c'est possible et facile mais il serait préférable qu'on ait ton fichier

A+

Marco
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir vsan, marco57,

En ce qui concerne le numéro de semaine, en france, les numéros commencent à la première semaine comportant au moins 4 jours dans l'année nouvelle.

Pour obtenir le bon numéro par formule Excel, voir par exemple Lien supprimé, le post de Monique (28/05/2005 15:28).

Pour obtenir le bon numéro par VBA, voir par exemple Lien supprimé, le post de _Thierry (11/06/2005 21:34).

Pour info, il existe un moteur de recherche très utile dans le Forum....

Cordialement,
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa