VBA manip de feuilles excel

Julz0882 Messages postés 3 Statut Membre -  
Julz0882 Messages postés 3 Statut Membre -
Bonjour,

J'ai un code simple qui crée une feuille excel à partir d'une autre et je veux garder certaines données mais je reçois un message d'erreur:

Sub CustomerCheck()
Sheets("All_Prices").Select
Range("A1").Select
Dim letter As Range
Dim r As Range
Dim strg As String
Dim strg2 As String

For Each letter In Range("A1", Range("IV1").End(xlToLeft))
If letter.Font.Bold Then
strg = letter.Text
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = strg
With Sheets(strg)
'....
End With

-> For Each r In Sheets(All_Prices).Range("A1", Range("A65536").End(xlUp))
If r.Font.Bold Then strg2 = r.Text
Sheets(strg).r.Text = strg2

Next r
End If
Next letter
End Sub

Erreur d'indice qui n'est pas dans la sélection? Merci pour vos lumières!
Julia

3 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Il manque les ":

    For Each r In Sheets("All_Prices").Range("A1", Range("A65536").End(xlUp))

    ;o)
    0
  2. Julz0882 Messages postés 3 Statut Membre
     
    Merci Polux, en effet...
    Mais ça ne marche toujours pas :

    For Each r In Sheets("All_Prices").Range("A1", Range("A65536").End(xlUp))
    If r.Font.Bold Then strg2 = r.Text
    Sheets(strg).r.Text = strg2

    Next r
    End If
    ....
    --> erreur 1004 / définie par l'application ou par l'objet

    La première itération fonctionne, une nouvelle feuille rfenommée et mise en page apparait mais on ne passe pas "for each / next r"
    0
    1. Polux31 Messages postés 7219 Statut Membre 1 204
       
      Ça doit coincer ici: Sheets(strg).r.Text = strg2

      Peut être comme ça:
      Sheets(strg).Cells(r.Row,r.Column).Value = strg2

      Je n'ai pas testé.

      ;o)
      0