Incompatibilité de type !!!!

V

VUILLAUME

Guest
Voici mon problème :
J'ai dans une feuille les décalrations suivantes pour éviter la création de doublons :
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'colonne à "surveiller" (ici colonne A)
If Target.Column = 1 Then

'pour vérifier si la saisie n'existe pas déjà dans la colonne
If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) > 1 Then
MsgBox "Ce chantier existe déjà, veuillez recommencer ! "
Target.Value = ""
'Target.Select
Exit Sub
Else
If Application.WorksheetFunction. _
CountIf(Range("A:A"), Target.Value) = 1 Then
feuillechantiers
'Target.Value = ""
End If
End If
End If
End Sub
Sub feuillechantiers()
Workbooks("Salariés+Chantiers").Activate
chantier = nouveauchantier.TextBox1.Value
'création de la feuille chantier correspondante
Worksheets("Chantiers").Copy After:=Worksheets("Chantiers")
Application.ActiveSheet.Name = " " & chantier
End Sub

puis j'ai créé un USF pour supprimer certains chantiers :
Private Sub CommandButtonOK_Click()

'Sélection
Dim marque As Variant
chantier = ComboBox2.Value
Workbooks("Salariés+Chantiers").Activate
Worksheets(" " & chantier).Activate

'Suppression de la feuille
ActiveWindow.SelectedSheets.Delete

'suppression dans base chantiers
Workbooks("Essai").Activate
Dim L As Integer
Dim Plage As Range
Dim Cell As Range
Dim Msg As Integer
Dim Nom As String
L = Sheets("base chantiers").Range("A65536").End(xlUp).Row
Set Plage = Sheets("base chantiers").Range("A1:A" & L)
Nom = ComboBox2.Value
If Nom = "" Then Exit Sub
For Each Cell In Plage
If Cell.Value = Nom Then
Cell.EntireRow.Delete
End If
Next Cell
Combo
Unload Me
End Sub

de là, le nom dans la base est supprimé ainsi que la feuille, mais une erreur d'incompatibilité de type est envoyé.

Comment faire ?
Peut-on annuler par macro une erreur d'exécution ???????
D'avance merci
 
J

jacquesderyes

Guest
Bonsoir vuilleaume


J'ai regardé ton code afin de voir si je pouvais t'aider mais il faudrait un bout de ton fichier pour pouvoir analyser le PB;
A priori je ne vois pas de déclaration de variable pour "chantier"!!!
Que vient faire COMBO , est-ce une macro?

Regades ton code de plus près et vérifies que toutes tes variables soient bien déclarées,en l'occurence chantier est une variable de type string!

Désolé de ne pas pouvoir t'aider +

Bien amicalement
jacques de ryes
 
V

VUILLAUME

Guest
Combo est une macro :

Private Sub Combo()
With ComboBox2
.Value = ""
.SetFocus
End With
End Sub


En fait il y a une incompatibilité de type, de telle sorte que lorsque je crée un chantier c'est un texte box et quand je le supprime c'est un combobox.
Il y a t il un rapport ?????????
Je vais essayer avec le type string merci d'avance.
 

Discussions similaires

Réponses
2
Affichages
206