Erreur sur "find" (Résolu par Mapomme) : insérer valeur retrouvé dans BDD

zebanx

XLDnaute Accro
Bonsoir,

Cette méthode reste encore à largement travailler pour moi.

Ci-joint un petit exemple (récupéré partiellement) pour rechercher dans une BDD mais qui bloque à l'instruction marquée en rouge sans que je ne comprenne pourquoi.

Pourriez-vous SVP m'aider pour la ou les corrections apportées sur ce code ?

Par ailleurs, la recherche sur "find" donne beaucoup de résultats mais si vous avez des exemples (fichiers) ou liens vers des réponses qui seraient rapides à me communiquer et utiles sur le sujet , je suis preneur et vous en remercie aussi par avance.

Bonne soirée
thierry

------
Sub inserer_representants()
Dim numdep As String
Dim col As Variant

Sheets("rech_1").Select
Range("B2").Select
While ActiveCell.Value <> ""
numdep = Left(ActiveCell.Value, 2)
col = Sheets("bdd_1").Range("A2:E11").Find(What:=numdep, LookIn:=xlFormulas, LookAt:=xlWhole).Address
col = Range(col).Column
col = CInt(col)
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = Sheets(1).Cells(1, col).Value
Wend
Range("a2").Select
End Sub
 

Pièces jointes

  • code_equiv (représentant).xls
    46 KB · Affichages: 16
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir zebanx,

Essayez avec le code ci-dessous:

VB:
Sub inserer_representants()
Dim numdep As String, col As Long

   With Sheets("rech_1")
      derlig = .Cells(.Rows.Count, "b").End(xlUp).Row
      If derlig >= 2 Then
         On Error Resume Next
         For i = 2 To derlig
            If .Cells(i, "b") <> "" Then
               numdep = Left(.Cells(i, "b"), 2)
               col = 0
               col = Sheets("bdd_1").Range("A2:E11").Find(What:=numdep, _
                     LookIn:=xlValues, LookAt:=xlWhole).Column
               If col > 0 Then .Cells(i, "c") = Feuil4.Cells(1, col).Value
            End If
         Next i
         On Error GoTo 0
      End If
      Application.Goto .Range("a2"), True
   End With
End Sub
 

Pièces jointes

  • zebanx- code_equiv (représentant)- v1a.xls
    43 KB · Affichages: 17

zebanx

XLDnaute Accro
Re-merci pour les explications sur le fichier et le bouton "hop" qui identifie bien son auteur:D

Je me demandais pourquoi faire un reset "col = 0" en milieu de code, c'est plus clair à présent.
Et j'utilisais peu des lignes comme ".cells (i, "c")", c'est bien (et ça convient bien mieux que activecell.formulaR1C1)

Bonne soirée
thierry
 

Statistiques des forums

Discussions
312 024
Messages
2 084 732
Membres
102 645
dernier inscrit
Bleach5962