![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir à tous et merci à tout ceux qui passent leur temps à aider les autres.
Je vous expose mon problème, je travaille sur ce code: Sub ajtxtg() Dim txtàajouter Dim Cellule With Selection txtàajouter = InputBox("Quel est le texte ou le nombre à ajouter au début " & _ Chr(10) & "de chaque cellule de la sélection ?", "INSERTION", "") For Each Cellule In Selection Application.SendKeys "{F2}" Application.SendKeys "{Home}" Application.SendKeys txtàajouter Application.SendKeys "{ENTREE}" Next End With End Sub Qui me permet d'inserer un texte quelconque au debut de chaque cellule de ma selection. J'aimerais y ajouter une option me permettant d'inserer ce texte à n'importe quel endroit de ma cellule. J'ai pensé à un inputBox me demandant après combien de caractère faut-il placer l'insertion? Mais après, je bloque Je vous remercie pour toute l'aide que vous pourrez m'apporter @+ |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir à tous et particulièrement à @+Thierry.
Merci pour ton code qui est exactement pile-poil ce que je recherchais. Et je profite du fait que tu es pris le soin de me repondre pour te dire que ce que tu fais au travers de ce forum est tout simplement génial. @+ |
| Liens sociaux |
| Outils de la discussion | |
|
|