XL 2010 [RESOLU] Recherche dans 2ème colonne d'une plage définie

cathodique

XLDnaute Barbatruc
Bonjour:),

Via userform, j'ajoute, supprime ou modifie des données.
Pour ajouter, on vérifie que le code n'est pas présent.
J'ai défini ma plage dans l'initialisation de l'userform.
La recherche doit s'effecter sur la 2ème colonne de la plange 'rng'.
j'ai fait; Set c = rng.Column(2).Find(What:=Chaine, LookAt:=xlWhole)
le code plante sur Column avec ce message
upload_2018-4-22_8-20-54.png


Merci pour votre aide.

Bon dimanche.

VB:
Dim ShCmpt As Object, ligne As Integer, rng As Range
Private Sub UserForm_Initialize()
   Set ShCmpt = ThisWorkbook.Sheets("CodeComptes")
   Set rng = ShCmpt.Range("A2:D" & ShCmpt.Range("A" & Rows.Count).End(xlUp).Row)
End Sub
Sub operations()
   Dim dl As Integer, c As Range, Chaine As String
     Chaine = Me.TextBox1.Value
   With ShCmpt
      dl = .Range("A" & Rows.Count).End(xlUp).Row + 1
      'pour ajouter item
      If Me.Cb_Valider.Caption = "Ajouter" Then
         If Chaine = "" Then MsgBox "Rien à ajouter!": Exit Sub
         Set c = rng.Find(What:=Chaine, LookAt:=xlWhole)
         If Not c Is Nothing Then
            MsgBox Chaine & " existe déjà!"
            Exit Sub
         Else
            .Cells(dl, 1).Value = Actif
            .Cells(dl, 2).Value = CDbl(Me.TextBox1.Value)
            .Cells(dl, 3).Value = Me.TextBox2.Value
            .Cells(dl, 4).Value = CDbl(Me.TextBox3.Value)
            .Rows(dl - 1).Copy
            .Rows(dl).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
            Application.CutCopyMode = False
         End If
End Sub
 

Discussions similaires

Réponses
17
Affichages
842
Réponses
1
Affichages
444
Réponses
16
Affichages
935
  • Question Question
Microsoft 365 créer un macro vba
Réponses
0
Affichages
359

Statistiques des forums

Discussions
315 283
Messages
2 118 012
Membres
113 407
dernier inscrit
FITAS