Excel plante sur une procédure

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

Edze

XLDnaute Nouveau
Bonjour,

J'ai un souci avec mon code pour créer des boutons dynamiquement, il s'exécute parfaitement lorsque je lance la procédure par l'éditeur VB seulement lorsque je l'appel depuis une autre procédure ou depuis un bouton, excel plante.
Code:
 Private Sub btn_addprsn()
    ...
    Call AddBtnAdd
    ...
End Sub


Private Sub AddBtnAdd()
    Dim nbPersonnes As Integer
    Dim numLigne As Integer
    
    numLigne = Range("BC4") - 1
    nbPersonnes = Range("BC3")
    
    With ActiveSheet
        LargeurBouton = Columns(3).Width
        GaucheBouton = Columns(3).Left
        HauteurBouton = Rows(numLigne).Height
        SommetBouton = Rows(numLigne).Top
    End With

    Set oOLE = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
    Left:=GaucheBouton, Top:=SommetBouton, Width:=LargeurBouton, Height:=HauteurBouton)

    oOLE.Name = "btnAddLigne_" & nbPersonnes
    oOLE.Object.Caption = "+"
    
    Code = "Sub btnAddLigne_" & nbPersonnes & "_Click()" & vbCrLf
    Code = Code & "AddLigne(" & nbPersonnes & ")" & vbCrLf
    Code = Code & "End Sub"

    With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
        NextLine = .CountOfLines + 1
        .insertLines NextLine, Code
    End With
End Sub

J'ai l'impression que ca coince lorsque le code du bouton est écrit. Je vous serais très reconnaissant si vous aviez la solution ou du moins des pistes sur lequel je pourrai m'orienter.

Merci.
 
Re : Excel plante sur une procédure

Bonjour

voir cette ligne
numLigne = Range("BC4") - 1
ne fonctionne pas si BC4 <= 1
bc3 doit être aussi <> ""

mettre le code dans un module sans private


un autre problème ici
"Code = Code & "AddLigne(" & nbPersonnes & ")" & vbCrLf"
 
Dernière édition:
Re : Excel plante sur une procédure

Bon binh merci de votre aide, mais j'ai trouvé ma réponse.

Le problème venait que derrière l'appel de ma procédure il y avait encore une ligne de code et lorsqu'on écrit du code comme lors de la création de mon bouton il est immédiatement recompilé ce qui pose évidement un problème si le code est encore en exécution ..
 
- 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
1
Affichages
520
Retour