VBA procédure trop grande

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

chinel

XLDnaute Impliqué
Salut tout le monde !


j'ai un programme en excel et vba, j'ai une userform avec des textbox et des combobox quand je remplis tous puis je valide "commandbutton" un message d'erreur : "procédure trop grande" que dois-je faire ?

merci de votre aide !!!!
 
Re : VBA procédure trop grande

Salut,

Effectivement, ton code est plutot long !!!!
Je viens d'y jeter un oeil et j'ai modifié la partie pour P09. J'aimerai que la teste et que tu me dises si ca fontionne. Si tu peux, essais de continuer les modif si tu y arrives, sinon, il faudrait simplement que tu me dises si tout le reste du code est semblable, j'ai un peu la fleme de tout regarder !!!

Code:
Private Sub CommandButton1_Click()
Dim Valeur As String, i As Integer, cpt As Integer

'Pour P09
With Sheets("P09")
    'les Combo
    cpt = 0
    For i = 2 To 3
        If ComboBox5.Value = "P09" Then
            If .Cells(3, i + cpt).Value = "" Then
                .Cells(3, i + cpt).Value = Controls("ComboBox" & i).Value
            Else
                .Cells(65536, i + cpt).End(xlUp).Offset(1, 0).Value = Controls("ComboBox" & i).Value
            End If
        End If
        cpt = 4
    Next i
    If ComboBox5.Value = "P09" Then
        If .Range("i3") = "" Then
            .Range("i3").Value = ComboBox6.Value
        Else
            .Range("i65536").End(xlUp).Offset(1, 0).Value = ComboBox6.Value
        End If
    End If
    'les Textbox
    cpt = 0
    For i = 2 To 5
        If ComboBox5.Value = "P09" Then
            If .Cells(3, i + 1).Value = "" Then
                .Cells(3, i + 1).Value = Controls("TextBox" & i).Value
            Else
                .Cells(65536, i + 1).End(xlUp).Offset(1, 0).Value = Controls("TextBox" & i).Value
            End If
        End If
    Next i
    For i = 6 To 7
        If ComboBox5.Value = "P09" Then
            If .Cells(3, i - 5 + cpt).Value = "" Then
                .Cells(3, i - 5 + cpt).Value = Controls("TextBox" & i).Value
            Else
                .Cells(65536, i - 5 + cpt).End(xlUp).Offset(1, 0).Value = Controls("TextBox" & i).Value
            End If
        End If
        cpt = 6
    Next i
End With

'Pour P10
'...
End Sub

@+
 
Re : VBA procédure trop grande

Salut le forum

Un code valable pour tous les valeurs de la Combobox5, basé sur le code de Porcinet.

Code:
Private Sub CommandButton1_Click()
Dim Valeur As String, i As Integer, cpt As Integer
With Sheets(ComboBox5.Text)
    'les Combo
    cpt = 0
    For i = 2 To 3
            If .Cells(3, i + cpt).Value = "" Then
                .Cells(3, i + cpt).Value = Controls("ComboBox" & i).Value
            Else
                .Cells(65536, i + cpt).End(xlUp).Offset(1, 0).Value = Controls("ComboBox" & i).Value
            End If
        cpt = 4
    Next i
        If .Range("i3") = "" Then
            .Range("i3").Value = ComboBox6.Value
        Else
            .Range("i65536").End(xlUp).Offset(1, 0).Value = ComboBox6.Value
        End If
    'les Textbox
    cpt = 0
    For i = 2 To 5
            If .Cells(3, i + 1).Value = "" Then
                .Cells(3, i + 1).Value = Controls("TextBox" & i).Value
            Else
                .Cells(65536, i + 1).End(xlUp).Offset(1, 0).Value = Controls("TextBox" & i).Value
            End If
    Next i
    For i = 6 To 7
            If .Cells(3, i - 5 + cpt).Value = "" Then
                .Cells(3, i - 5 + cpt).Value = Controls("TextBox" & i).Value
            Else
                .Cells(65536, i - 5 + cpt).End(xlUp).Offset(1, 0).Value = Controls("TextBox" & i).Value
            End If
        cpt = 6
    Next i
End With
End Sub

Mytå
 
Dernière modification par un modérateur:
- 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
Autres Code VBA
Réponses
11
Affichages
253
Réponses
1
Affichages
494
  • Question Question
XL 2013 user form
Réponses
2
Affichages
232
Réponses
36
Affichages
2 K
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
277
Retour