XL 2016 Problème d'exécution de marco depuis userform

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

flav49

XLDnaute Nouveau
Bonjour à vous,

Je travail sur la réalisation d'un planning dynamique (un peu comme un gantt au final) pour un fichier de suivi / planification pour un jeu en ligne. Ca me permet en même temps de travailler mon code vba, donc j'aime bien travailler un peu sur ce genre de fichier pour enrichir mes compétences.

Pour décrire rapidement mon soucis, je souhaite d'abord poser les bases de ce sur quoi je travail, à savoir un planning dynamique dans lequel 1 semaine réel correspond à un mois. Dans la mise en forme j'ai opter pour une fusion de cellule pour les 7 cellules qui correspondent au mois ce qui me bloque quand après je veux trouver la position du jour souhaité. j'ai donc découvert que je devais enlever mes fusions de cellules pour exécuter mon code et c'est là que mon soucis arrive.

J'ai donc créer deux fonctions dans un module, une pour supprimer la fusion et l'autre pour refusionner. Le 2 fonctions fonctionnent très bien lorsque je les exécutes depuis virtual basic. en revanche une fois que j'appelle la fonction pour supprimer la fusion depuis l'userform (via le bouton valider dans l'userform "UserForm_plannifier") j'ai une erreur qui s'affiche et en débuggant je me rend compte que le nombre de colonne calculé reste à 13 au lieu de 169 ... et là je ne trouve pas l'explication...

Si quelqu'un aurais une explication sur mon problème svp .

merci
Flavien
 

Pièces jointes

Solution
Bonjour Flav,
J'ai fait quelques tests en manuel.
Dans Refusionner Dercol vaut 169 ... ou 13. Tout dépend de la feuille active. ( 169 sur Planning_culture et 13 sur Planning)
Il faut préciser dans quelle feuille vous travaillez pour évaluer Dercol. Je pense que ça va résoudre le problème :
VB:
Sub refusionner()
    Dim cel As Range
    Dim dercol As Integer
    Set cel = Sheets("Planning_culture").Cells(2, 2)
    dercol = Sheets("Planning_culture").Cells(3, Columns.Count).End(xlToLeft).Column

Juste un point parce que ça pique les yeux. Dans Module_planning_planification, vous avez un superbe arbre de IF , c'est vrai que l'IF est un bel arbre ! Mais on doit pouvoir simplifier :
Code:
        For i = 0 To UBound(Tableau)
            If...
Bonjour Flav,
J'ai fait quelques tests en manuel.
Dans Refusionner Dercol vaut 169 ... ou 13. Tout dépend de la feuille active. ( 169 sur Planning_culture et 13 sur Planning)
Il faut préciser dans quelle feuille vous travaillez pour évaluer Dercol. Je pense que ça va résoudre le problème :
VB:
Sub refusionner()
    Dim cel As Range
    Dim dercol As Integer
    Set cel = Sheets("Planning_culture").Cells(2, 2)
    dercol = Sheets("Planning_culture").Cells(3, Columns.Count).End(xlToLeft).Column

Juste un point parce que ça pique les yeux. Dans Module_planning_planification, vous avez un superbe arbre de IF , c'est vrai que l'IF est un bel arbre ! Mais on doit pouvoir simplifier :
Code:
        For i = 0 To UBound(Tableau)
            If Tableau(i) >= 1 And Tableau(i) <= 12 Then
                Colonne = 1 + Tableau(i)
                Sheets("Planning").Cells(2, Colonne).Value = "1"
            End If
        Next i
 
Bonjour sylvanu,

Merci pour votre aide, je n'avais pas pensé à ce point là effectivement.

Merci pour l'astuce pour supprimer mon arbre if, c'est vrai que ce n'était pas très esthétique et long en même temps !!! je tacherais de m'en souvenir pour la prochaine fois que je rencontrerais ce type de besoin.

Flav
 
- 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

  • Question Question
Réponses
5
Affichages
165
Réponses
3
Affichages
150
Réponses
0
Affichages
128
Réponses
3
Affichages
276
Réponses
4
Affichages
110
Réponses
6
Affichages
208
Retour