Bonjour
Dans un USF destiné à consulter, modifier et créer des éléments d'une base de données, j'ai voulu lors de la création d'une ligne, vérifier qu'on ne puisse pas saisir (dans le textbox nommé CreaNouveauNo) une valeur déjà existante dans la colonne A de la base de données
Pour la création d'une nouvelle ligne, en gros la macro est du type
ligne = Sheets("BDBUDGET").[A65000].End(xlUp).Row + 1
Sheets("BDBUDGET").Cells(ligne, 1) = Me.CreaNouveauNo
Sheets("BDBUDGET").Cells(ligne, 2) = Me.ModifTitreBudget
Sheets("BDBUDGET").Cells(ligne, 3) = Me.ModifInstruction
Sheets("BDBUDGET").Cells(ligne, 4) = Me.ModifObsBudget
MsgBox "Nouveau budget enregistré avec succès"
j'ai voulu lors de la création d'une ligne, vérifier qu'on ne puisse pas saisir (dans le textbox nommé CreaNouveauNo) une valeur déjà existante dans la colonne A de la base de données. J'ai donc inséré juste avant les lignes précédentes :
If Application.Match(Me.CreaNouveauNo.Text, [BDBUDGET!A:A], 0) Then
MsgBox "Budget déjà existant ... Impossible de le créer de nouveau"
Exit Sub
End If
Ça arrête bien l'enregistrement de la nouvelle ligne en cas de doublon … mais j'ai maintenant une erreur d'exécution 13 (incompatibilité de type) pour chaque tentative d'enregistrement pourtant valide (c'est-à-dire sans valeur identique dans la colonne A)
Avant, sans cette vérification de doublons, tous les nouveaux enregistrements se passaient pourtant bien …
Une idée ? Merci d'avance