Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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


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
349
Réponses
1
Affichages
172
Réponses
0
Affichages
155
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…