Passer un range en paramètre d'une procédure
Bonjour,
J'ai créé un petit bout de code qui ajoute un saut à la ligne dans ma cellule.
Ce code, ô joie, après plein d'essais sur la manière de signifier que je voulais la cellule A2, fonctionne.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Sub titre_renvoi_a_la_ligne(Cellule_titre As Range)
'Ajoute un saut de ligne quand une parenthèse est trouvée dans la cellule passée en paramètre
position_parenthese = InStr(1, Cellule_titre, "(")
Cellule_titre.Value = Left(Cellule_titre.Value, position_parenthese - 2) & Chr(10) & Right(Cellule_titre.Value, Len(Cellule_titre.Value) - position_parenthese + 1)
End Sub
Sub Test_sautl()
Dim position_parenthese As Long
titre_renvoi_a_la_ligne Range("a2")
End sub |
J'essaye maintenant d'industrialiser le tout (car il y a beaucoup de cellules dans lesquelles je dois ajouter ce saut à la ligne).
Et, bien sur, ca ne marche point.
Pourriez-vous m'éclairer ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Sub MEF_Fiche_Reseau()
'Mise en forme de la fiche au niveau DR
Dim cellule, fiche As Range
'2. MISE EN FORME selon la valeur des cellules
Set fiche = ActiveSheet.UsedRange
For Each cellule In fiche
'Si titre : on encadre et passe à la ligne
If (cellule.Value Like "ENCOURS*") Then
cellule.Offset(0, 0).Select
titre_renvoi_a_la_ligne cellule
End If
Next
End Sub |
Merci,
Aline
nb : si mon code est tout crapi, n'hésitez pas à me dire en quoi il l'est, ça m'aidera.