Probleme copie ligne vba excel

inside001 -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Jespere que vous avez une solution pour mon probleme

j'ai une macro, qui recherche le client par son nom dans une plage d'un tableau, j'ai reussi a faire sa .
Mais je veux copier toute la ligne ou se trouve la cellule trouvée.
je veux la copier dans la meme feuille a l'exterieur du tableau existant.

voici mon code et je vous remercie davance :

Private Sub CommandButton1_Click()
'
' Macro_Recherche par nom du client
' Macro enregistrée le 10/05/2010 par BLAEDA
'

Dim Str_Plage As String
Dim Cel As Range
'Dim Feuil As Worksheet'
Dim Str_critère As String
Dim X As Byte

Dim ligne As Integer

Str_Plage = "B19:B2000"
Str_critère = InputBox("CLIENT A RECHERCHER ?")
'For Each Feuil In Sheets'
For Each Cel In Worksheets("Base Clients").Range(Str_Plage)

If UCase(Cel) Like "*" & UCase(Str_critère) & "*" Then
Worksheets("Base Clients").Activate
Cel.Activate
X = MsgBox("Le client """ & Str_critère & """ trouvé :" & Chr(13) & _
"Oui : arrêter la recherche et afficher la cellule trouvée" & Chr(13) & _
"Non : continuer la recherche " & Chr(13) & _
"Annuler : arrêter la recherche" & Chr(13), vbDefaultButton1 + _
vbQuestion + vbYesNoCancel, "CLIENT TROUVÉ")
Select Case X
Case 6
Worksheets("Base Clients").Activate
Cel.Activate
Worksheets("Base Clients").Range("B13").Value = Cel.Value
Cel.Row.Copy Destination:=Worksheets("Base Clients").Range("A16") ' c'est cic que ca marche pas

Exit Sub
Case 2 'annuler
Exit Sub
Case Else 'Non=7
'on fait rien, mais on pourrait
End Select
End If
Next Cel
'Next Feuil'
MsgBox ("pas trouvé")
Exit Sub

End Sub

1 réponse

  1. madeliocustom Messages postés 42 Statut Membre 13
     
    Hello,

    essaye avec :
    Cel.Rows.Copy Destination:=Worksheets("Base Clients").Range("A16")

    A+
    Madelio
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonjour,

      tu es déjà sur sheets("base clients"), donc inutile de le répèter

      .Rows(cel.Row).Copy Rows(16)



      que se passe t il si le nom n'est pas trouvé?
      0