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

Padbol

XLDnaute Nouveau
Bonjour à tous

Je suis actuellement étudiant et dans le cadre de mon stage je dois réaliser un planning de maintenance. J'ai réalisé celui ci mais j'aimerais à présent l'automatiser car je rempli tout à la main

J'ai réalisé un planning fonctionnant par semaine dans lequel pour chaque semaine on visualise les opérations à effectuer sur chaque machine. J'aimerais à l'aide d'un formulaire pouvoir compléter le tableau. Dans une textbox on indiquerait l'opération puis on choisirait une date de début et une date de fin.
Je m'explique: Imaginons une imprimante qui à besoin d'un nettoyage toutes les 4 semaines. On écrit nettoyage dans la textbox, puis on choisi une date de début, disons la semaine n°1, puis notre fréquence de 4semaines. Dans le planning, il y aurai écrit nettoyage sur la semaine 1, mais aussi sur les semaines 5, 9, 13.... Et tout cela sur la ligne correspondant à l'imprimante

Une telle chose est elle possible? Si oui pourriez vous m'aider? Car je débute totalement en VBA

Merci de m'accorder de voter temps, car j'ai conscience que je suis assez gourmand sur ma demande
 

Pièces jointes

Re : planning

Salut Nairolf,

C'est à peu près ce que je voulais, merci beaucoup pour ta réponse
En plus grâce à toi je viens de me rendre compte que j'avais oublié le fait qu'un mois ne contient pas un nombre entier de semaines.
j'étais parti sur 4 semaines pour simplifier.

J'ai quelques questions =)

à quoi sert le "/1" que tu as ajouté dans ton code?
Avec ton code, on est forcément cantonné aux entiers?
Et est-il possible de revenir aux première semaine pour les fréquences? C'est à dire de faire une boucle, lorsque l'on part de la semaine 51, par exemple, avec une fréquence de 2, on revient au début du planning, à la semaine 1


J'ai juste modifié ton code afin de partir de la dernière machine enregistrée, et non pas de la cellule sélectionnée
Dis moi si c'est OK =)

Private Sub CommandButton1_Click()
ligne = Range("C65536").End(xlUp).Offset(1, 0).Row
col = TextBox2.Value / 1
While col <= 52
Cells(ligne, 3 + col).Value = TextBox1.Value
col = col + (TextBox3.Value / 1)
Wend
col = 0
Unload UserForm1
End Sub


Merci encore de ton attention
 
Re : planning

Le "/1" est là car le textbox importe du texte sinon, ça permet de transformer en nombre le nombre stocké en texte (il existe peut-être une formule plus propre mais je ne l'a connaît pas et ne l'ai pas cherché).

Pour la boucle, tu souhaites traiter toutes les colonnes du tableau dans les deux sens? je regarde ce qui peut être fait.
 
Re : planning

Essaye avec ça:
Private Sub CommandButton1_Click()
ligne = Range("C65536").End(xlUp).Row
col = TextBox2.Value / 1
While col <= 52

Cells(ligne, 3 + col).Value = TextBox1.Value
col = col + (TextBox3.Value / 1)
Wend
col = TextBox2.Value / 1
While col >= 1

Cells(ligne, 3 + col).Value = TextBox1.Value
col = col - (TextBox3.Value / 1)
Wend
col = 0
Unload UserForm1
End Sub

Il y a peut-être plus subtile et il est probablement possible de regrouper les 2 boucles.
 
Re : planning

Re,

Oui c'est cela =D
Tu es mon héros^^

J'aime beaucoup ta technique car elle permet de palier un défaut que j'avais repérer
Si on prend une fréquence dont 52 n'est pas le multiple, j'avais peur qu'une boucle inscrive au final sur toute les cases =)
Mais là c'est parfait, pile poil ce que je voulais


Merci beaucoup,
 
- 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
186
Réponses
7
Affichages
980
Réponses
28
Affichages
2 K
Réponses
5
Affichages
965
Réponses
12
Affichages
1 K
Retour