Difficultés avec une boucle for avec la condition

Bonjour à toutes et à tous,

je découvre les userform et VBA, mon niveau de connaissance est très faible, voire inexistant

Voilà l'idée étant de simplifiée la saisie de prestation de mes collègues, avant nous utilisions un tableau remplis manuellement avec des TBC, (ça je maitriser mieux ), le nouveau responsable souhaite un userform

ma problématique :

je cherche à boucler sur mes checkbox du userform, récupérer le Caption et insérer les captions dans les colonnes correspondantes

le problème c'est que ça ajout tous les captions des checkbox même ceux qui ne sont pas cochés, je suis perdus je n'arrive pas.

si une bonne âme voulez bien m'aider, merci beaucoup par avance.

je joint le fichier le bouton nouvel enregistrement se trouve dans l'onglet DÉMARRER le tableau l'onglet BDD.

Bonne journée / soirée

Bien cordialement

Jeanphy

9statistique.xlsm (32.73 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bye !

Bonjour GMB,

merci beaucoup pour votre message de bienvenue et pour votre réactivité !!!

ça fonctionne très bien, c'est merveilleux

un grand Merci pour votre aide.

je ne clôture pas tout de suite le sujet, le projet n'est pas son terme, des fois qu'une autre difficultés m'apparaisse...

je propose ça dans la journée au responsable, et vous tiens bien informer.

encore un grand merci

Bonne journée / soirée.

Bien cordialement de Nouméa.

Jeanphy

Bonjour à toutes et à tous,

voilà, sortie de réunion me voici de nouveau face aux difficultés

j'ai mis une explication dans une zone de texte dans le fichier sous l'onglet BDD, des souhaits du responsable.

je n'ai aucune idée précise de la complexité de ma demande, alors je m'en excuse par avance.

en tous les cas, toute aide sera très appréciée est la bienvenue.

un grand merci, bon week-end à toutes et à tous.

prenez soins de vous et de vos familles.

Bien amicalement de Nouméa.

Jeanphy

Bonjour

Nouvel essai.

Bye !

Salut le fil...

Une autre petite approche avec l'utilisation de ton tableau, et le changement de lieux en début d'année.

J'attends ton retour

Bonjour à toutes et à tous,

et a GMB et Jean-Paul, je suis de retour au travail ce matin, je vous remercie beaucoup pour vos attentions à mes problématiques,

je regarde tout ça dans la journée dès que je peux, mais je vous remercie déjà énormément pour votre aide c'est très gentil de votre part à tous les deux .

je reviens vers vous dans quelque heures Merci !!!!!!!!!!

bonne journée / soirée

Bien amicalement de Calédonie

Jeanphy

Bonjour à GMB,

je viens d'essayer le fichier c'est super, il y a juste un petit bogue sur le lieux du lundi ça marque lieu 5 alors qu'il faudrait avoir Lieu 1

sinon cela me parait très fonctionnel, je ne m'hasarde pas à modifier le code, hors de ma portée de compréhension vu mon niveau VBA nul !!

c'est très gentil de vous êtes penchés sur mon USF, si vous voulez bien m'aider encore un petit peu pour le finaliser,

je vous en remercie par avance

bien amicalement de calédonie

jean-philippe / aka jeanphy

Bonjour Jean-Paul,

c'est merveilleux cette deuxième approche ,

il y a tout plein de petite chose très intéressantes, il y a juste 6 lieu de positionnement du proxibus,

1 pour le lundi

1 pour le mardi

1 pour le mercredi

1 pour le jeudi

1 pour le vendredi matin 08h00 à 12h00

1 pour le vendredi après-midi 13h00 à 16h30

et tous ces lieux sont fixe pour une année entière sauf changement décisionnel de la mairesse.

j'aime beaucoup les contrôle message et la possibilité de paramétrer les lieux directement via le USF, ça fait très professionnel,

c'est certain que je ne sais pas faire cela, et le faite de faire afficher en couleur un peu claire les infos du lieux et la date dans le formulaire c'est génial !!!!

voila si il est possible de voir pour les 6 lieux ça serait , en tous les cas un grand merci,

je pense que le patron sera content avec ça !!!

Pour Jean-Paul,

il ne faudrait pas que le bouton effacer le tableau soit accessible à tous les utilisateurs,

une maladresse et toutes les données seraient perdues, sinon c'est vraiment super chouette comme USF,

très complet

Bonjour à tous

Nouvel essai.

Bye !

Bonjour GMB,

j'ai testé c'est très bien, merci beaucoup de l'aide apportée,

c'est fonctionnel, je vais présenté les deux versions au patron, il choisira celle qu'il souhaite.

un grand merci pour l'aide, car je n'y serait pas arrivé seul!!!

Belle et bonne journée / Soirée de Nouméa

Bien cordialement

jeanphy

Salut le fil...

Désolé pour retard mais obligations familiales obligent.

J'ai refait une petite mouture j'attends ton retour.

Bonjour Jean-Claude,

c'est magnifique, cette version avec le ruban c'est super !!!!

très bien vue la couleur du USF !! peut-être ais-je fais une erreur de manipulation, mais il y a une erreur lors du paramétrage des lieux pour chaque jours, j'ais fait une capture en pièce jointe,

j'ai bien coché la case comme indiqué en rouge, dans l’éditeur VBA.

voila si jamais j'avais commis une erreur d'utilisation excusez-moi

avec impatience de vous relire, merci beaucoup de votre aide très apprécié

bien belle journée / soirée

Bien cordialement

Jean-Philippe

4capture-1.docx (49.85 Ko)

Jean-Claude, re coucou,

j'ai rajouté des captures écrans je renvoies le fichier avec les captures.

encore Merci Beaucoup

Bien cordialement,

Jeanphy

4capture-1-1.docx (143.40 Ko)

Re

Je pense que c'est à cause des Noms qui sont cachés

dans WorckBook_Open change la ligne qui cache les noms avec un True

Sinon je regarderais demain

Non en fait il ne reconnais pas le samedi ni le dimanche

Donc tu nommes la cellule "B8" en L_Samedi et la "B9" en L_Dimanche

ou tu change le code comme suit

        ' // If Flag Then FirstOpening
        If flag Then
            MsgBox "Nous allons prendre quelques minutes pour paramètrer les lieux"
            MultiPage1.Value = 1

        End If

        If WeekdayName(Weekday(Date)) = "vendredi" And Time < #12:00:00 PM# Then
            .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_VendrediAM")
            strLieux = Range("L_VendrediAM")
        ElseIf WeekdayName(Weekday(Date)) = "vendredi" And Time > #12:00:00 PM# Then
            .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_VendrediPM")
            strLieux = Range("L_VendrediPM")
        Else
            If Weekday(Date, vbMonday) > 0 And Weekday(Date, vbMonday) < 5 Then
                .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_" & WeekdayName(Weekday(Date, vbMonday)))
                strLieux = Range("L_" & WeekdayName(Weekday(Date, vbMonday)))
            End If
        End If
        .lbDate.Caption = "Le :   " & Format(Date, "dd mmmm yyyy")
    End With

jean-Claude,

super c'est géniale, j'ai effectué la modification et c'est tout bon !!!!,

un très grand merci de l'aide

je présente ça à mon responsable et je reviens vers vous si ??? .....

passez une bonne fin de journée et un bon week-end

bien cordialement,

Jean-Philippe

Bonjour jean-claude,

je fais des essaie tous les jours avec le fichier, mais aujourd'hui jeudi 25 juin 2020, il me prends les paramètres de la matinée du vendredi

pourtant c'était bon en début de semaine ?

Merci beaucoup de votre aide,

j'ai joint le fichier, si j'ai fait une erreurs d'utilisation désolé

bonne fin de journée / soirée à vous

Bien cordialement

jeanphy

Salut Jeanphy,

Il me semblais avoir fais la modif. Force ton code à reconnaitre le lundi comme premier jour de la semaine.

     If WeekdayName(Weekday(Date, vbMonday)) = "vendredi" And Time < #12:00:00 PM# Then
            .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_VendrediAM")
            strLieux = Range("L_VendrediAM")
        ElseIf WeekdayName(Weekday(Date, vbMonday)) = "vendredi" And Time > #12:00:00 PM# Then
            .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_VendrediPM")
            strLieux = Range("L_VendrediPM")
        Else
            If Weekday(Date, vbMonday) > 0 And Weekday(Date, vbMonday) < 5 Then
                .lbLieux.Caption = "Le lieux pour cette journée est :   " & Range("L_" & WeekdayName(Weekday(Date, vbMonday)))
                strLieux = Range("L_" & WeekdayName(Weekday(Date, vbMonday)))
            End If
        End If
        .lbDate.Caption = "Le :   " & Format(Date, "dd mmmm yyyy")
    End With

Je t'ai refais une version avec une entrée en plus dans le cas d'une autre prestation, Fais moi un retour si ça te va.

Rechercher des sujets similaires à "difficultes boucle for condition"