Modification d'un code VBA

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

bobjazz

XLDnaute Impliqué
Bonjour le Forum
Besoin d'experts en vba comme vous, dans le fichier que l'on m'a donné, qui fonctionne trés bien, je voudrais le faire évoluer, avant il était possible de programmer une reservation du lundi au vendredi, de 8:30 à 17:00. Et maintenant, j'aimerai ajouter une colonne appelée "samedi" et rajouter des heures pour avoir une amplitude de 8h00 à 17h00 par pas de 30 min, j'ai essayé de modifié le code, mais là, j'ai atteint mes limites.
Merci de me dire si cela est possible avec ce fichier.

Merci d'avance
Bobjazz
 

Pièces jointes

Re : Modification d'un code VBA

Bonjour

le fichier que tu as joint fonctionne?
Il me semble que tu as modifié la feuille horaires, notamment sur le nombre de lignes, ou alors je ne comprends pas tout.

Si c'est le cas joins un fichier cohérent car modifier un fichier avec bugs n'est pas terriblement judicieux
 
Re : Modification d'un code VBA

Bonjour ERIC S et Mytå

Merci de vos réponses, je vous envoie le fichier non modifié, le but je remplie les données dans la feuille "DescrCours" et j'appuie sur le bouton "Générer Horaire", ce qui agrémente la feuille "Horaire".
Mon souhait si il est possible est de rajouter une colonne appelée "samedi" et rajouter des heures pour avoir une amplitude de 8h00 à 17h00 par pas de 30 min.
Sur ce code, je n'ai rien touché.
Merci d'avance

bobjazz
 

Pièces jointes

Re : Modification d'un code VBA

re

à tester

(modifié feuille masquée pour ajouter le samedi
modif code function Message (ajout samedi et saturday dans Array("lundi,....)
modif code affichage Message(x) quand x dépasse 5 il faut ajouter 1 car le samedi s'est intercalé
modif copie de feuille masquée (jusqu'à colonne G (samedi)
 

Pièces jointes

Re : Modification d'un code VBA

RE Bonjour ERIC S

Je viens d'essayer ton fichier, il ne copies pas les données que l'on veux dans la feuille "shtSchedule".
J'aurai 2 questions si tu veux, j'arrive bien à afficher la feuille "shtTemplate", quand je fais Format/Feuille/Afficher. Mais je ne vois pas comment faire pour afficher la feuille "shtAdmin".
La 2ème, je vois pas les messages, est ce qu'ils sont dans "shtAdmin"?

Merci d'avance pour ta patience

bobjazz
 
Re : Modification d'un code VBA

re

je venais juste de vérifier que cela fonctionnait (en fait il faut obligatoirement remplir cours et session)

pour la feuille modèle (qui contient un nom en dur ligne 27)
format feuille afficher.

n'oublie pas de la recacher après
 
Re : Modification d'un code VBA

re

tu vas dans la fenêtre vba
tu crées une macro
tu l'exécutes

ne me demande pas pourquoi on ne la voit pas sous excel en feuille masquée🙁

sub e()
Sheets("AdminSheet").Visible = True
end sub
 
Re : Modification d'un code VBA

Re ERIC S

J'abuse une dernière fois de ta patience, je ne trouve pas les message d'erreur

If Not (LCase(jour) = Message(1) Or _
LCase(jour) = Message(2) Or _
LCase(jour) = Message(3) Or _
LCase(jour) = Message(4) Or _
LCase(jour) = Message(5) Or _
LCase(jour) = Message(6)) Then

je vois qu'i y en a 10

j'ai fini la modification totale avec les heures et cela fonctionne comme je voulais et surtout j'ai appris que l'on peut cacher une feuille et la resortir avec une macro

Merci d'avance

bobjazz
 
Re : Modification d'un code VBA

re

les messages sont définis par une fonction donc Message(1) appelle la fonction Message et demande l'élément 1 soit lundi si français ou monday si anglais (variable cLang)

Public Function Message(Num As Integer) As String
Num = Num - 1 'correction for index 0
Dim LANGSTR1 As Variant
Dim LANGSTR2 As Variant
LANGSTR1 = Array("lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi", _
"Placement Terminé. Voulez-vous imprimer votre horaire?", _
"Placement Terminé", "Mauvaises données dans la cellule ", _
" Veuillez corriger et appuyer sur Générer Horaire.", _
"Créé par:")
LANGSTR2 = Array("monday", "tuesday", "wednesday", "thursday", "friday", "saturday", _
"Placement Done. Would you like to print your schedule?", _
"Placement Done", "Bad data in cell ", _
" Please correct and click Create Schedule.", _
"Created by:")
Select Case cLANG
Case 1 'French
Message = LANGSTR1(Num)
Exit Function
Case Else 'English by Default
Message = LANGSTR2(Num)
Exit Function
End Select
End Function
 
- 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

U
Réponses
2
Affichages
7 K
usrobotics
U
G
Réponses
6
Affichages
2 K
Guillaume831
G
D
Réponses
2
Affichages
2 K
David59
D
G
  • Question Question
Réponses
1
Affichages
2 K
Retour