[Catégorie modifiée VB6 --> VBA] Besoin d'aide sur vb

CLOUAGE Messages postés 3 Date d'inscription lundi 9 août 2010 Statut Membre Dernière intervention 11 août 2010 - 11 août 2010 à 17:01
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 11 août 2010 à 17:25
Bonjour,

J'ai conçu un masque de saisie et une boite de dialogue,mais elle veut pas ce lancer(erreur d'exécution 9 sur la boite de dialogue(ajouter une intervention....)

Pourrais-vous m'aider a resoudre ce probleme,je vous copie le script ci-dessous,autrement ci vous voulez le fichier donner moi votre adresse email pour je puisse vous envoyer le fichier

Je vous remercie d'avance des solutions que vous m'apporterez

Eric

le script

Option Explicit

Dim PAI
Dim Index_PAI
Dim Intervenant
Dim Index_Intervenant
Dim H_Année
Dim H_Unité
Dim H_Base
Dim H_CUR
Dim Mode
Dim Index_Mode
Dim Porteur
Dim Index_Porteur
Dim Contributeur
Dim Index_Contributeur
Dim Coût
Dim Forfait
Dim Nondéfinie
Dim Réal
Dim Arbi
Dim Prop
Dim Prév
Dim Enga


' Supprimer un enregistrement
Sub Supprimer_int()
Dim Réponse
Dim Question
Dim Title
Question = "Voulez-vous supprimer cette enregistrement ?"
Title = "Supprimer enregistrement"
Réponse = MsgBox(Question, 276, Title)
If Réponse = 6 Then
Supprimer_ligne
Else
Range("A1").Select
End If
End Sub
' Supprimer une ligne
Sub Supprimer_ligne()
ActiveCell.EntireRow.Select
Selection.Delete
Range("A1").Select
End Sub
' Saisie d'une intervention
Sub Saisie_int()
With Worksheets("Boite")
.EditBoxes.Text = ""
.OptionButtons("Forfait") = xlOn
.OptionButtons("Non définie") = xlOn
.DropDowns.Value = 1
.Show
End With
End Sub
' Annuler Quand_Clic
Sub Annuler_QuandClic()
Sheets("Base").Activate
Range("A1").Select
End Sub
' Encadrement cellule
Sub Bordure()
ActiveCell.Select
Selection.Borders(xlTop).LineStyle = xlNone
Selection.Borders(xlBottom).LineStyle = xlNone
Selection.Borders(xlLeft).LineStyle = xlNone
Selection.Borders(xlRight).LineStyle = xlNone
Selection.BorderAround Weight:=xlThin
End Sub
' Ajouter une ligne
Sub Ajouter_ligne()
Range("A1").Select
Do Until ActiveCell = ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.EntireRow.Select
Selection.Insert Shift:=xlBottom
ActiveCell.Select
End Sub
' OK Quand_Clic
Sub Ok_Quand_Clic()
With ActiveDialog
Index_PAI = .DropDowns("PAI").Value
Index_Mode = .DropDowns("Mode").Value
H_Unité = .EditBoxes("Unité de Ref").Text
H_Base = .EditBoxes("Base UR").Text
H_CUR = .EditBoxes("Coût UR").Text
H_Année = .EditBoxes("Année").Text
Index_Intervenant = .DropDowns("Intervenant").Value
Index_Porteur = .DropDowns("Porteur").Value
Index_Contributeur = .DropDowns("Contributeur").Value
Coût = .OptionButtons("Forfait").Value
Réal = .OptionButtons("Réalisé").Value
Prév = .OptionButtons("Prévisible").Value
Arbi = .OptionButtons("Arbitrage").Value
Enga = .OptionButtons("Engagé").Value
End With
Mise_A_Jour
End Sub
' Mise à jour d'un ajout de données
Sub Mise_A_Jour()
Recherche_PAI
Recherche_Mode
Recherche_Intervenant
Recherche_Porteur
Recherche_Contributeur
Sheets("Base").Activate
Ajouter_ligne
ActiveCell.Offset(0, 1).Select
Selection.Value = H_Année
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = PAI
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = Mode
Bordure
ActiveCell.Offset(0, 1).Select
If Coût = xlOn Then
Selection.Value = "Forfait"
Else
Selection.Value = "Non définie"
End If
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = Porteur
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = H_Unité
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = H_BaseUR
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = H_CUR
Bordure
ActiveCell.Offset(0, 1).Select
If Réal = xlOn Then
Selection.Value = "Réalisé"
ElseIf Prév = xlOn Then
Selection.Value = "Prévisible"
ElseIf Arbi = xlOn Then
Selection.Value = "Arbitrage"
ElseIf Enga = xlOn Then
Selection.Value = "Engagé"
Else
Selection.Value = "Proposé"
End If
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = Contributeur
Bordure
ActiveCell.Offset(0, 1).Select
Selection.Value = Intervenant
Bordure
Range("A1").Select
End Sub

' Recherche d'un intervenant
Sub Recherche_Intervenant()
Sheets("Réserve").Activate
Range("B1").Select
ActiveCell.Offset(Index_Intervenant, 0).Select
Intervenant = Selection.Value
End Sub
' Trier par dates
Sub Tri_Date()
Columns("A:H").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("A1").Select
End Sub
' Trier par temps
Sub Tri_Temps()
Columns("A:H").Select
Selection.Sort Key1:=Range("D2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("A1").Select
End Sub
' Trier par maintenance
Sub Tri_Maintenance()
Columns("A:H").Select
Selection.Sort Key1:=Range("F2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("A1").Select
End Sub
' Trier par intervenant
Sub Tri_Intervenant()
Columns("A:H").Select
Selection.Sort Key1:=Range("H2"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("A1").Select
End Sub

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
11 août 2010 à 17:25
Salut Eric

Prend l'habitude de :
- Bien choisir la catégorie de ta question : Dans ce genre de question, c'est très important
- De coller le code en utilisant la coloration syntaxique = 3ème icone à droite

Pour l'heure, je n'ai pas le courage de :
- dépouiller ce code à la recherche de LA ligne incriminée
- de rechercher ce que signifie l'erreur 9 (type incompatible ou index en dehors de la plage, de mémoire)

Prends le temps de bien expliquer ton problème ET ce que tu as essayé. On ne fera pas le boulot à ta place.

Vala
Jack, =fr MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous