XL 2013 Erreur Code VBA

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

jeanba

XLDnaute Occasionnel
Bonjour,

Mon code ci-dessous renvoie une erreur de genre
upload_2018-10-6_14-45-46.png


Quelqu'un peut à vue de nez me dire ce qui va pas... ?

Merci par avance
Jeanba


Code:
Public WithEvents txtB As MSForms.TextBox
Private Sub txtB_Change()
Application.ScreenUpdating = False
Dim Total As Double
'Initialise la variable à 0
Total = 0

'Boucle de 1 a 13 pour 13 TextBox
   For i = 100 To 112
        'Si un des TextBox est différent de rien alors
       If Me.Controls("TextBox" & i) <> "" Then
            Me.Controls("TextBox" & i + 13).Value = _
            Format(Me.Controls("TextBox" & i).Value * _
            Me.Controls("TextBox" & i).Tag, "#,##")
            'Ben le total est le total de tous les TextBox
           Total = Total + CDbl(Me.Controls("TextBox" & i + 13))
        'Fin de la condition
            Else
            Me.Controls("TextBox" & i + 13).Value = Null
        End If
    'Fin de la boucle
   Next i
        'Le TextBox "txtTotal" recoit le total
   Me.TboTotal.Value = Format(Total, "#,##")
Application.DisplayAlerts = False
Application.ScreenUpdating = True
End Sub
 
D'une manière générale évitez de travailler au coup par coup directement avec les cellules.
Passez par un tableau dynamique intermédiaire en mémoire. La propriété Value d'un Range représentant plusieurs cellules est justement un tel tableau.
 
Oui, à condition de ne pas s'en servir quand même pour une seule cellule à chaque fois !
Cells et Range sont des méthodes lourdes et lentes dont la durée d'exécution est pratiquement indépendante du nombre de valeurs de cellules accédées. Vous pouvez partir du principe que lire ou écrire 1000 fois une seule cellule à chaque fois dure 1000 fois plus longtemps que charger ou décharger une seule fois 1000 valeurs de cellules dans ou d'un tableau.
 
OK, je comprends.
Alors, pouvez-vous agir concrètement sur le projet ci-joint ci-dessus en dernier, de telle sorte que:

1) qu'à l'ouverture de l'usf, ce soit la 1ere cellule vide de la 2e colonne qui soit activée
2) l'exécution de la macro soit plus rapide
3) tous les boutons de cde suivent..

Merci infiniment Dranreb et merci à tout le forum!
Que de choses j'ai apprises sur ce forum
Encore merci pour l'idée, le partage, la disponibilité!

Jeanba
 
Pourquoi y a-t-il deux UserForm alors qu'il n'y a apparemment qu'un tableau à mettre à jour ?
Cherchez voir ComboBoxLiées dans ce site. J'ai écrit énormément d'applications de mise à jour de tableaux
Vous auriez d'ailleurs intérêt à lui faire subir une mise sous forme de tableau pour qu'on ait un ListObject qui le représente.
 
- 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
3
Affichages
600
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
252
Réponses
3
Affichages
241
Réponses
3
Affichages
538
Réponses
2
Affichages
408
Retour