modifier le contenu d'une cellule [résolu]

modifier le contenu d'une cellule [résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 14-06-2006 à 09:09:44    

Bonjour,
 
Est ce possible en vba de modifier le contenu de mes cellules et si oui de quelle façon?
Sachant que j'ai entre 1000 et 1200 cellules a modifier.
J'ai besoin de supprimer les parenthères et ce qu'elles contiennent.
exemple :
Bonjour (25)
 
ici je dois supprimer : (25)
 
Merci


Message édité par stoody2003 le 14-06-2006 à 17:11:46
Reply

Marsh Posté le 14-06-2006 à 09:09:44   

Reply

Marsh Posté le 14-06-2006 à 09:44:08    

bonjour,
Oui.
 
Mais il faut être plus précis dans ta formulation.
Les cellules sont-elles dans la même colonne ?
Ne contiennent-elles qu'un mot et (**) et rien après  ou peuvent elles contenir quelque chose comme ça :
Bonjour (25) blabla
ou encore
bonjour (coucou) blabla (25)
 
A+
 

Reply

Marsh Posté le 14-06-2006 à 09:52:36    

toutes les cellules sont dans la meme colonne (B)
elles contiennent qu'un mot et rien aprés.
toujours sous cette forme :  
Bonjour (25)
bienvenue (17,25)
hello (php,41)
...
 
elles ont toutes une seule paire de paranthese avec des chiffres, lettres et virgule.
 
merci

Reply

Marsh Posté le 14-06-2006 à 09:57:06    

bonjour,
Tu pourrais peut être te contenter de Données / Convertir  
avec le séparateur ( -ou espace-
 
Nota :il faut insérer une colonne à droite de la colonne à modifier
Ensuite YAPUKA supprimer cette colonne...
A+


Message édité par galopin01 le 14-06-2006 à 09:57:55
Reply

Marsh Posté le 14-06-2006 à 10:08:32    

Sous excel et sans vba tu peux essayer la formule
  =GAUCHE(B1;CHERCHE(" ";B1)-1)
où B1 est ta cellule contenant "Bonjour (25)"
et a recopier dans toute la colonne par Ctrl B
puis un copier coller-spécial juste la valeur et ca roule !!

Reply

Marsh Posté le 14-06-2006 à 10:29:17    


Private Sub Test()
Dim r As Long, c As Integer
Dim s As String
    ' Ajuster pour la plage concernée
    For r = 1 To 256
        For c = 1 To 256
            Cells(r, c) = TraiterChaine(r, c)
        Next
    Next
End Sub
 
Private Function TraiterChaine(ByVal r As Integer, ByVal c As Integer) As String
Dim PosD As Integer, PosF As Integer, Taille As Integer
Dim strR As String, strL As String, Str As String
Dim Chaine As String
     
    Chaine = Cells(r, c)
    PosD = InStr(Chaine, "(" )
    PosF = InStr(Chaine, " )" )
    Taille = Len(Chaine)
     
    While PosD > 0 And PosF > 0
        Str = Left(Chaine, PosD - 1) & Right(Chaine, Taille - PosF)
        Chaine = Str
         
        PosD = InStr(Chaine, "(" )
        PosF = InStr(Chaine, " )" )
        Taille = Len(Chaine)
    Wend
     
    TraiterChaine = Chaine
End Function

Reply

Marsh Posté le 14-06-2006 à 10:39:11    

et avec ca : si le mot conservé est le premier mot suivi d'un blanc
 
    Dim TabRes As Variant
    i = 1
    Do While Cells(i, 2) <> ""
        TabRes = Split(Cells(i, 2), " " )
        Cells(i, 2) = TabRes(0)
        i = i + 1
    Loop

Reply

Marsh Posté le 14-06-2006 à 11:31:54    

merci ca fonctionne Paul Hood avec ton dernier programme
 
BRAVO
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed