VBA manip de feuilles excel

Fermé
Julz0882 Messages postés 3 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 26 août 2010 - 26 août 2010 à 12:51
Julz0882 Messages postés 3 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 26 août 2010 - 26 août 2010 à 14:42
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
A voir également:

3 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 août 2010 à 13:32
Bonjour,

Il manque les ":

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


;o)
0
Julz0882 Messages postés 3 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 26 août 2010
26 août 2010 à 14:09
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
26 août 2010 à 14:26
Ç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
Julz0882 Messages postés 3 Date d'inscription mercredi 25 août 2010 Statut Membre Dernière intervention 26 août 2010
26 août 2010 à 14:42
Malheureusement non, c'est toujours bien cette même ligne qui coince.
Je vais creuser cette erreur 1004 : https://support.microsoft.com/fr-fr/help/966294/run-time-error-5-invalid-procedure-call-or-argument

Merci pour votre aide !

Julia
0