Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 03/07/2003, 00h27   #1 (permalink)
art
Guest
 
Messages: n/a
Par défaut insertion de chaines

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
Vieux 03/07/2003, 02h54   #2 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: insertion de chaines

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
 
Vieux 03/07/2003, 09h33   #3 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: insertion de chaines

Bonjour,

euh ... "Dim Cellule As Range" est un résidu et ne sert à rien !

@+Thierry
 
Vieux 03/07/2003, 22h37   #4 (permalink)
art
Guest
 
Messages: n/a
Par défaut Re: insertion de chaines

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.
@+
 
Vieux 04/07/2003, 00h31   #5 (permalink)
@+Thierry
Guest
 
Messages: n/a
Par défaut Re: insertion de chaines

Bonsoir Art, le Forum

Ben merci alors !!


@+Thierry
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 11h09.


(C) 2006 Excel Downloads