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
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…