Bonsoir Art et les Couches tard !!! (et les Canadiens ;-)
Oui, c'est pas mal tes SendKeys, mais disons que pour faire la même chose en précisant une position çà se corse !! (Bonjour Pat5 !!)
Voici ce que je te propose avant d'aller me coucher :
Sub InsertionTexte()
Dim Placement As Byte
Dim TextAjout As String
Dim NewValeur As String
Dim Droite As String
Dim Gauche As String
Dim Cell As Range
Dim Cellule As Range
Placement = InputBox("Quel Position pour l'insertion (en partant de gauche)", "INSERTION PHASE POSITION")
TextAjout = InputBox("Quel est le texte ou le nombre à ajouter au début " & _
Chr(10) & "de chaque cellule de la sélection ?", "INSERTION PHASE TEXTE")
With Selection
For Each Cell In Selection
If Not Len(Cell) < Placement Then
Gauche = Left(Cell, Placement)
Droite = Right(Cell, Len(Cell) - Placement)
NewValeur = Gauche & TextAjout & Droite
Cell = NewValeur
End If
Next
End With
End Sub
Et c'est plus rapide que les SendKeys
... En mettant 0, cette macro fera ce que la tienne fesait déjà. Par contre si la valeur entrée en première InputBox est supérieur à la longueur de la chaine de caractère contenue dans une des celluleS, cette dernière ne subira aucun changement... Si tu veux plutôt insérer des espaces, là il faudra faire une peu plus compiqué.
Bonne Nuit
@+Thierry