boucle

Delirium

XLDnaute Occasionnel
Bonsoir à tous

Je n'y connais rien en boucle et je voudrais que la macro suivante s'execute en boucle :

Code:
Sub Supprimer_RTF2()
' Supprimer @

Dim Plage As Range
    Cells.FindNext(After:=ActiveCell).Activate
    Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _
        TextQualifier:=xlNone, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :='@', FieldInfo:=Array(Array(1, 9), Array(2, 2))
End Sub

Lorsqu'elle ne trouve plus de' @ la boucle s'arrête.

Si quelqun connait la solution merci d'avance ;)

@+
 

Delirium

XLDnaute Occasionnel
Exscusez moi j'ai pas recopier la bonne macro :
Code:
[color=#0000FF]Sub [/color]Supprimer_RTF2()
[color=#008000]' Supprimer @[/color]
    Cells.Find(What:='@', After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
        .Activate
    Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _
        TextQualifier:=xlNone, ConsecutiveDelimiter:=True, Tab:=False, Semicolon _
        :=False, Comma:=False, Space:=False, Other:=True, OtherChar:='@', _
        FieldInfo:=Array(Array(1, 9), Array(2, 2))
[color=#0000FF]End Sub[/color]

@+
 

Delirium

XLDnaute Occasionnel
j'ai voulu metre de couleur pour que se soit plus beau mais ya des trucs bizzar qui se sont mis dans mon code :unsure:

Je le remet sans floriture :
Code:
Sub Supprimer_RTF2()
' Supprimer @
'
    Cells.Find(What:='@', After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
        .Activate
    Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _
        TextQualifier:=xlNone, ConsecutiveDelimiter:=True, Tab:=False, Semicolon _
        :=False, Comma:=False, Space:=False, Other:=True, OtherChar:='@', _
        FieldInfo:=Array(Array(1, 9), Array(2, 2))
End Sub

@+
 

ChTi160

XLDnaute Barbatruc
Salut Delirium
j'ai une très mince idée de ce que tu veux faire peux tu nous éclairer

tu veux dans toutes les cellules d'une feuille rechercher tout les symboles @ et tu en faits quoi car lje ne suis pas un pro et le texte que tu as mis dans ton post ne me dit rien
merci d'avance

Arffffffffffff je me disais c'est du délire je regarde

re lorsque tu trouves un symbole tu en fais quoi ????
explique moi Merci

Message édité par: ChTi160, à: 30/06/2005 18:10
 

ChTi160

XLDnaute Barbatruc
re Delirium

un bout de code qui permet d'afficher dans un MsgBox l'adresse de chaque cellules qui contient un @

dis moi moi si cela est un bon début
Sub Supprimer_RTF2()
' Supprimer @
'
Dim c As Range
Dim FirstAddress As String

Set c = Cells.Find(What:='@', After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If Not c Is Nothing Then
FirstAddress = c.Address
Do
c.Activate

MsgBox c.Address

'Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _
' TextQualifier:=xlNone, ConsecutiveDelimiter:=True, Tab:=False, Semicolon _
' :=False, Comma:=False, Space:=False, Other:=True, OtherChar:='@', _
' FieldInfo:=Array(Array(1, 9), Array(2, 2))
Set c = Cells.FindNext(c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
End If


End Sub
tu me dis quoi et on continue lol car le texte en commentaire il faudrait me le commenter Lol
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjoir Jean-Marie, Delirium

En direct de l'aide VBA à Find :

Sub AideVBAsurFind()
Dim C As Range
Dim FirstAddress As String


With Worksheets(1).Cells
&nbsp; &nbsp;
Set C = .Find('@', LookIn:=xlValues, LookAt:=xlPart)
&nbsp; &nbsp;
If Not C Is Nothing Then
&nbsp; &nbsp; &nbsp; &nbsp; FirstAddress = C.Address
&nbsp; &nbsp; &nbsp; &nbsp;
Do
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; C.Interior.ColorIndex = 3
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Set C = .FindNext(C)
&nbsp; &nbsp; &nbsp; &nbsp;
Loop While Not C Is Nothing And C.Address <> FirstAddress
&nbsp; &nbsp;
End If
End With

End Sub


Sinon regarde aussi l'aide à 'Replace' si jamais tu as besoin...

Bonne Soirée
@+Thierry
 

ChTi160

XLDnaute Barbatruc
Salut @+Thierry

j'espére que tu vas bien et que le travail que tu as en cours se déroule bien

je vais à Nice demain soir
mais j'arrive à 0h37 et je repars a 13h43 trop cours
je pense que j'arriverai un jour à pouvoir venir te rencontrer à Monaco

bonne fin de Soirée et bonne Bière lol

Message édité par: Chti160, à: 30/06/2005 18:41
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Jean-Marie

Wow si court 13heures et 6Minutes !!! Que viens tu faire si peu de temps ? ^Piquer une tête dans la grande bleue ? lol

Vraiment dommage que tu puisses pas étendre un peu pour la St Thierry !!!

Enfin sinon Septembre à Lyon ;)

Bien à Toi
@+Thierry

PS Wouarf le travail !! J'ai besoin d'un assistant !!!
 

ChTi160

XLDnaute Barbatruc
re
tu sais @+Thierry je vais à Nice pour le Boulot et si je prolonge le train que je dois accompagner (je suis contrôleur(SNCF) si tu ne le sais pas )ne partira pas ou avec du retard , donc j'hésite lol
mais ne t'inquiète pas j'arriverai sûrement à faire une tournée qui me permettra de venir en principauté te voir et je n’y manquerai pas ,je t'informerai en temps utile bien sur
ce sera avec plaisir que je viendrai te voir

pour Lyon je n'ai pas suivi je vais me renseigner

je couche à Lyon la nuit du 3 au 4 juillet
 

Delirium

XLDnaute Occasionnel
Re bonsoir ChTi160 et Thierry et merci de votre aide.

Bon voici la réponse à la question de ChTi160 :

Le contenu des cellules traité par ma macro vienne d'un logiciel de descriptif et devis qui exporte des données dans word (descriptif) et dans excel (devis).
Le problème de ce logiciel et qu'il ne fait pas de mise en forme des titres du descriptif, alors j'utilise des codes RTF qui son séparés par un @ pour que excel détecte la partie code RTF et titre à conservé.
Dans excel on obtient donc ceci :

'Code RTF @Titre à conservé.'

Il faut que ma macro supprime la partie 'Code RTF @' tout en concervant 'Titre à conservé.'

Ma macro recherche donc les '@' puis converti (Menu/convertir/Délimite/autre : @ / interpréteur de texte : aucun / séparateur comme unique) puis la 1°colonne n'est pas distribué et la 2éme et ditribué en texte.

Ma macro réalise cela mais je voudrai le faire en boucle jusqu'a ce qu'il n'y est plus d'@.

Je vais testé le code de Thierry pour voir et vous tiens au cournt ;)

merci et a biebt^t.
 

ChTi160

XLDnaute Barbatruc
re Delirium

en pièce jointe un essai
tu nous tiens au courant [file name=RTF2_V1.zip size=8673]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RTF2_V1.zip[/file]
 

Pièces jointes

  • RTF2_V1.zip
    8.5 KB · Affichages: 15

Hellboy

XLDnaute Accro
Bonjour Delirium

Bon, j'ai testé le code de Thierry, mais cela na ecorrespond pas à ce qu eje cherche et je ne sais
pas comment le modifié our obtenir se que je chercher.

Alors un ptit coup de main svp.

Holà, on veut bien te donner un coup de main, mais tu n'as toujours pas répondu as Chti60. Et même a ta propre réponce. Qu'est-ce que tu cherche a faire ? Et de plus tu as eu plusieurs réponce, alors le coup de main est là ! :huh:
 

Delirium

XLDnaute Occasionnel
Bonjour et désolé de ne pas vous avoir répondu avant, mais j'été à l'étranger pour le boulot puis c'était les vancances :p , et donc pas question de bosser sur excel.

Si non, concernant mon problème, un collègue à truvé la solution qui fonctionne (mais je n'ai pas encore vu comment il à fait).


Je tien encore une fois à vous remerciez de votre aide, et suis désolé de ne pas vous avoir répondu avant.

Merci et à bientôt.
 

Discussions similaires

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1