Deux problèmes à soumettre

olivier_bahrein

XLDnaute Junior
Bonjour,

J'ai deux problème à vous soumettre.

J'ai créé un projet VBA pour éditer un calendrier de travail avec week end et jour fériés.

1- Depuis quelque temps, j'ai une erreur: "erreur d'entrée/sortie de périphérique" qui apparaît sans que j'en connaisse la raison. Quelqu'un peut-il m'indiquer où chercher pour le résoudre ? (je ne fais appel à aucun périphérique dans mon code VBA... du moins pas consciemment).

2- Je souhaite mettre une validation conditionnelle sur certaines cellules de ma feuille excel selon la date . J'ai donc fait une boucle avec le code:

With Cell.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=agents_dsi"
End With

De temps en temps cela fonctionne et de temps en temps, le code s'arrête avec l'erreur 1004 sur la ligne:

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=agents_dsi"

Je ne comprends vraiment pas pourquoi.

Si vous avez une idée, je suis preneur car cela fait une semaine que je cherche.

Merci de votre aide.

Olivier./.
 

Pierrot93

XLDnaute Barbatruc
Re : Deux problèmes à soumettre

Bonjour Olivier

pour ta 2ème question, je pense que tu as le message d'erreur lorsque tu exécutes ta macro à partir d'une autre feuille, enfin peut être... Si c'est le cas mets le nom de la feuille dans l'instruction "With"

Code:
With Sheets("NomFeuille").Range(Cell).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=agents_dsi"
End With

à tester car sans fichier...

bonne journée
@+

EDITION : mettre la plage nommée cell (si s'en est une) entre guillemets.
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Deux problèmes à soumettre

Re Olivier

a priori normal que ca bogue dans certains cas, tu lui donnes une liste de validation par VBA, mais les cellules contiennent des formules qui ont pour résultats, des valeurs différentes que celles autorisées par la liste de validation...

La solutuion, peut être supprimer sur la feuille les formules et les renvoyer le cas échéant par vba. Dans ce cas tu ne mettrais pas de liste de validation pour celle ci.

bonne journée
@+
 

olivier_bahrein

XLDnaute Junior
Re : Deux problèmes à soumettre

Tu veux parler de la mise en forme conditionnelle ? Oui il y en a et effectivement, je me demandais s'il pouvais y avoir une interférence.

Je vais enlever la MFC excel et le faire par VBA.

Pourtant, je fais bien un .validation.delete auparavant, ce qui devrait me faire partir d'une situation saine.

Je te tiens au courant,

merci de ton aide!

Olivier./.
 

Pierrot93

XLDnaute Barbatruc
Re : Deux problèmes à soumettre

Re Olivier

non je parlais des formules, comme ci dessous placée en D8 sur ta feuille, qui détermine un jour férié et renvoi une valeur dans la cellule.

Code:
=SI(ESTNA(INDEX(Libellés_Jours_Fériés;EQUIV(C8;Dates_Jours_Fériés;0)));"";INDEX(Libellés_Jours_Fériés;EQUIV(C8;Dates_Jours_Fériés;0)))

@+
 

olivier_bahrein

XLDnaute Junior
Re : Deux problèmes à soumettre

Je me perds et cela me fait tourner en bourrique...

J'ai changé la MFC excel en MFC VBA

Mais cela ne donne pas le résultat escompté.

- le but est de choisir un mois et automatiquement, la page se créé avec les jours fériées en mauve et les jours de week-end en bleu.

- par ailleurs, les jours ouvrés, on doit pouvoir choisir un nom d'agent.

- on doit pouvoir aussi saisir le nom d'un agent sur la colonne 6 (=F) tous les jours.

Si tu as des idées pour rectifier mon code, je suis preneur car quand je corrige un bug, j'en ai un autre qui me tombe dessus...

Olivier./.
 

Pierrot93

XLDnaute Barbatruc
Re : Deux problèmes à soumettre

Re

Il faudrait sans doute rajouté aussi un :

Code:
Cells.Validation.Delete

en début de code, le problème c'est qu'il y en a un peu dans tous les sens, dans "thisworkbook", dans les feuilles, les modules, en plus je ne suis pas sur du tout des propriétés de ton "ComboBox", il boucle 2 fois sur l'évènement change...

je t avoue que je ne comprends pas tout...

@+
 

olivier_bahrein

XLDnaute Junior
Re : Deux problèmes à soumettre

Pierrot,

Peux-tu m'expliquer pourquoi les évènements sur combobox2 (change, click par exemple) s'exécutent deux fois au lieu d'une ?

Merci

Je n'arrive pas à finaliser mon projet.


Olivier./.
 

Pièces jointes

  • Perm DSI2.zip
    35.9 KB · Affichages: 21

Pierrot93

XLDnaute Barbatruc
Re : Deux problèmes à soumettre

Bonjour Olivier

Hier déjà je te disais que je ne comprenais pas pourquoi l'évènement se déclanchait 2 fois, et aujourd'hui pas plus.

Par contre, je vois toujours les formules dans la colonne C, a mon avis ca doit perturber quand la formule ramène une valeur non permise par la validation des données.

j'ai l'impression que ce classeur à été fait par l'ajout de différents bouts, du code des formules et MFC, et tout ca ne m'a pas l'air de bien fonctionner ensemble.

il faut peut être repartir depuis le début mais là en l'état je ne comprends pas grand chose.

bon courage et bonne fin d'après midi.
@+
 

olivier_bahrein

XLDnaute Junior
Re : Deux problèmes à soumettre

Bonjour,

Merci Pierrot pour tes commentaires.

En fait j'ai changé le combobox par une cellule avec validation et tout fonctionne correctement.

(pour tester j'avais réessayé avec un autre combobox et même problème où le code s'exécute deux fois de suite, les "Cells.validation add... "plantent le code etc...).

C'est pas grave, ca marche très bien avec la validation sur une cellule alors...


Merci de ton aide !

Olivier
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa