Ajouter ou retrancher un caractere a la selection

Bonjour a tous, j'aimerais pouvoir ajouter ou retrancher le caractere " : " en avant des cellules selectionner. Le code devrais employe une boucle afin que je puisse y inserer une macro a moi.

Je vous envoi un tout petit fichier.

Merci!

17caractere.zip (6.87 Ko)

Voici un ebauche de ce que je recherche:

Sub test()
    Dim cell As Range

    Set Selection = ???????
    For Each cell In Selection

        If Left$(cell.Value, 1) = ":" Then  'on enleve ":"
        else: cell.Value = ":" & ????

    Ma_macro
    Next
End Sub

Bonsoir,

Private Sub CommandButton1_Click()
Dim C As Range
    For Each C In Selection
        If C Like "*:*" Then
            C.Value = Replace(C, ":", "")
        Else
            C = ":" & C
        End If
    Next C
End Sub

A+

Bonsoir,

Bonsoir Frangy,

Mon interprétation

bouton qui permet d'ajouter ou de retrancher " : " au debut de la chaine de caractere d'une cellule,sur une selection en "E", d'apres l'etat de la premiere cellule de la selection.

Cdlt

Option Explicit
Private Sub CommandButton1_Click()    '<toggle>
Dim rng As Range, c As Range
Dim x As String
    Application.ScreenUpdating = False
    Set rng = Range(ActiveCell, ActiveCell.End(xlDown))
    x = Left(rng(1), 1)
    For Each c In rng
        If x = ":" And Left(c, 1) <> ":" Then c = ":" & c
        If x <> ":" And Left(c, 1) <> ":" Then c = ":" & c
        If x = ":" And Left(c, 1) = ":" Then c = Replace(c, ":", "")
        If x <> ":" And Left(c, 1) = ":" Then c = Replace(c, ":", "")
    Next
    Set rng = Nothing
End Sub

Salut a vous deux! merci Frangy, je garde ton code pour mon apprentissage.

Jean-Eric, c'est presque ca: j'ai corrige 2 conditions selon ce que je recherche, en moins que je ne sois dans l'erreur. Par ailleurs, j'ai remarque que ce n'est pas ma selection qui est affecte par la macro mais toutes le cellules du debut de ma selection jusqu'a la derniere cellule du fichier. Je crois que le probleme est sur la ligne plus bas.

J'ai mis la macro dans le fichier.

 Set rng = Range(ActiveCell, ActiveCell.End(xlDown))
5caractere-1.zip (9.47 Ko)

Re,

A tester.

Cdlt

Option Explicit
Private Sub CommandButton1_Click()    '<toggle>
Dim c As Range
Dim x As String
    Application.ScreenUpdating = False
    With Selection
        x = Left(Selection(1), 1)
        For Each c In Selection
            If x = ":" And Left(c, 1) <> ":" Then c = c
            If x <> ":" And Left(c, 1) <> ":" Then c = ":" & c
            If x = ":" And Left(c, 1) = ":" Then c = Replace(c, ":", "")
            If x <> ":" And Left(c, 1) = ":" Then c = c
            'ma macro
            '----------
        Next
    End With
End Sub
7caractere-1-v1.zip (14.01 Ko)

Super. J'ignorais qu'on pouvait simplement dir with selection. Je n'ai pas trop de difficulte a interpreter du VBA mais ecrire du code, la c'est une autre histoire.

Merci Jean-Eric!

Re,

Tu dois pouvoir simplifier:

Option Explicit
Private Sub CommandButton1_Click()    '<toggle>
Dim c As Range
Dim x As String
    Application.ScreenUpdating = False
    With Selection
        x = Left(Selection(1), 1)
        For Each c In Selection
           If x = ":" And Left(c, 1) <> ":" Then c = c
            If x <> ":" And Left(c, 1) <> ":" Then c = ":" & c
            If x = ":" And Left(c, 1) = ":" Then c = Replace(c, ":", "")
           If x <> ":" And Left(c, 1) = ":" Then c = c
            'ma macro
           '----------
       Next
    End With
End Sub
 

avec simplement

If x = ":" Then c = c

A tester

Je ne suis pas certain que ca marche, je peux essayer mais dis moi si tu as bien souligner les bonnes lignes a modifier.

A ma grande surprise, ca fonctionne. Je ne comprend pas comment en es tu arrive la? t'es pas mal meilleur que moi.

En fait la formule est: s'il y a ":" ds la premiere cellule de la selection, toute les cellules ne devront plus avoir de ":" et ceux qui en avait pas reste tel quel.

si par contre, il n'y a pas de ":" ds la premiere cellule de la selection, toute les cellules auront ":" et ceux qui en avait deja reste tel quel.

En tout cas c'est ce que je voulais et c'est ce que ton code fait!

Rechercher des sujets similaires à "ajouter retrancher caractere selection"