Bug Aléatoire sur exécution VBA

Bonjour à tous et meilleurs voeux pour cette nouvelle année 2016.

Je me tire les cheveux depuis pas mal de temps sur une exécution VBA qui bug... par intermittence. Vous avez le fichier en pièce jointe.

Dans l'onglet 2, lorsqu'on utilise la première liste déroulante, si on sélectionne un "projet" qui ne contient qu'une seule valeur dans l'onglet 1... parfois ça bug.

Mais ce qui est vraiment bizarre, c'est que ça ne le fait pas tout le temps. Parfois j'ouvre le fichier et ça fonctionne, et d'autres fois non !!! De quoi me faire péter un plomb...

Le bug vient de la commande suivante :

.Range("H2").Resize(UBound(T2, 2)).RemoveDuplicates Columns:=1, Header:=xlNo

L'idée est supprimer les doublons dans la liste... mais vu qu'il n'y a qu'une seule valeur dans le cas présent, c'est ça qui crée le bug.

Si quelqu'un a une idée pour me filer un coup de main là-dessus, je lui en serai très reconnaissant.

D'avance merci

Marc

15production.xlsm (32.63 Ko)

Bonjour,

tu peux contrôler ton fichier ?

Moi ça plante sur NumLigne = Range("M1").Value

avec #N/A en M1

eric

eriiic a écrit :

Bonjour,

tu peux contrôler ton fichier ?

Moi ça plante sur NumLigne = Range("M1").Value

avec #N/A en M1

eric

Pour avoir ça, tu as du cliquer sur le bouton GO, non ?

Désolé, je me suis mal exprimé. Mon problème ne porte pas sur l'exécution des boutons, mais sur le choix dans les listes déroulantes au dessus du bouton GO. Le plantage que tu as eu est parce que tu as exécuté le bouton GO sans avoir préselectionner les valeurs dans la liste déroulante au dessus.

Bonjour

Bonjour eriiic

Teste le nombre d'élément

      .Range("H2").Resize(UBound(T2, 2)) = Application.Transpose(T2)
     If UBound(T2, 2) > 1 Then .Range("H2").Resize(UBound(T2, 2)).RemoveDuplicates Columns:=1, Header:=xlNo
    End With

Super, merci Banzai64, ça fonctionne bien comme ça.

J'avais pensé à un test, mais je ne savais pas comment l'intégrer en fait.

C'est parfait, merci beaucoup !

Bonjour et bonne année,

Dans la mesure out tu travailles avec Excel 2013, tu peux peut-être éviter des procédures VBA.

Du moins pour la partie des listes déroulantes.

Il faudrait de plus connaître ton objectif final.

Cdlt.

14production.xlsm (14.77 Ko)
Jean-Eric a écrit :

Bonjour et bonne année,

Dans la mesure out tu travailles avec Excel 2013, tu peux peut-être éviter des procédures VBA.

Du moins pour la partie des listes déroulantes.

Il faudrait de plus connaître ton objectif final.

Cdlt.

Ah oui, effectivement, c'est beaucoup plus simple comme ça !

Je ne connaissais pas du tout la notion de "Segment" dans Excel.

Merci beaucoup, je vais regarder ça de près

Rechercher des sujets similaires à "bug aleatoire execution vba"