Programme qui plante aléatoirement sur ajoute d'une ligne

Bonjour, j'ai un problème sur excel que même les plus grand n'arrive pas a résoudre (et oui cela est bien une phrase d'accroche mais c'est un peu vrai quand meme )

Voila je vais poser le context .. je dois mettre une forme une basse de donnée sachant que j'ai deja les donnée ... il s'agit du trafique de fret et passager dans le aéroport du monde entier.. cependant excel plante (pas systématiquement lorsque je veut creer une nouvelle année (et donc une nouvelle feuille)

je passe par ce code

Dim cel As Range
Dim f As String
Dim v As Integer
f = "2017" 'TextBox2.Text
v = 2017 'TextBox2.Value
Unload UserForm2
Set cel = Worksheets("Listes").Range("P12:P1000").Find(v)
If IsEmpty(v) = False And cel Is Nothing And v < 2102 And v > 1900 Then
        With Worksheets("Listes").ListObjects("nom_feuilles")
             .ListRows.Add
             .DataBodyRange.Cells(.DataBodyRange.Rows.Count, 1) = v
        End With
        

bon evidement je ne vous mets pas tous mais l'excel plante sur la ligne listrows.add

CEPENDANT, il ne plante pas a chaque fois et des fois il me met un message d'erreur ( automation exception...) et parfois pas !

Je tiens a préciser que de tant en tant ( oui le comportement de mon code est super aléatoire je ne comprends pas) lorsque je cherchais a ajouter une ligne manuellement (directement depuis le excel click droit ajouter ligne) a mon tableau qui recense toutes mes année ( et donc mes pages) alors la aussi excel plantait ! Je ne vois pas a quel moment excel peut planter lorsque l'on veut simplement rajouter une ligne a un tableau.. bref vous l'aurez compris je suis perdu !

je vous mets le fichier excel en fichier joint pour ce que ca interesse ou ceux qui cherche tout simplement a m'aider plus en profondeur ...

Merci par avance pour votre aide !

Bonjour Christof7 et

Commence par apprendre les bases du développement

1) Au début de chaque module, déclaration obligatoire des variables

Option Explicit

2) Déclarer ces variables : https://www.excel-pratique.com/fr/vba/variables.php

Et tu verras que cela arrange beaucoup de choses

Bonjour,

tu as également oublié de mettre les liens des forums où tu as posé la question.

Autant voir les réponses apportées et éviter les redites.

Surtout que l'intevenant a l'air de suivre de près ta demande.

Pas très réglo ni sympa cette manière de faire.

eric

Bonjour BurnoM45 et eriiik et merci de me consacrer du temps.

Bruno je t’avoue ne pas réellement comprendre mon erreur quant a la déclaration de mes variables ?

Eriiik je pensais avoir transmis toutes les infos supplémentaires apprises nécessaires à la compréhension du problème est étant assez réactif je n’aurais bien évidemment pas hésité à transmettre l’info d’un côté ou d’un autre... Je ne tenais pas spécialement à le caché et si la solution est apportée je n'hésiterai pas à la faire connaitre de tous.

Re,

Bruno je t’avoue ne pas réellement comprendre mon erreur quant a la déclaration de mes variables ?

Sauf erreur de ma part, tu n'en déclares aucune

Et les plantages aléatoires dont tu nous parles viennent en général de ça

Excuse moi je suis en train de remettre complètement en question ma compréhension du code,

Dim cel As Range

Dim f As String

Dim v As Integer

Ceci ne suffi pas pour déclarer mes variables ?

Desquelles parle tu exactement ?

Merci !

Re,

Arf oui effectivement c'est tellement pas le bordel que je suis passé à côté

C’est vrai que sans avoir tout le code c’est un peu compliqué de s’y retrouver

Bonjour à tous

Pour info : le fichier semble vérolé.

Il tourne sur 2010 mais plante systématiquement sur 2016 et 2019.

Rien qu'un enregistrement macro d'ajout d'une ligne au tableau plante Excel (sortie directe sans message)

De plus quand l'exécution du code sur le classeur ne sort pas, il laisse Excel dans un état anormal : si on tente de faire tourner un code sur un autre classeur cela plante aussi...

Re,

ce que je note c'est le changement de version 2010-2016

Depuis 2013 et la gestion des fenêtres en SDI au lieu de MDI, c'est parfois le b...l. Entre autres :

  • si un Userform non modal est ouvert, qu'on rend visible une feuille, qu'on l'active, elle devient bien visible et en apparence active, mais vba continue à travailler sur la précédente.
  • lors de l'activation d'un classeur avec ScreenUpdating = False
Et autres joyeusetés.

eric

Solution trouvé !

rajouter un (2) apres le listrows. add

merci a vous !

Rechercher des sujets similaires à "programme qui plante aleatoirement ajoute ligne"