VBA N° code de l'apostrophe pour suppression

Bonjour à tous,

Sur ce lien, j'ai fait une macro qui fonctionne mais il reste en tête une apostrophe que je

voudrai supprimer en fin de macro.

J'espère y arriver avec le N° de code de l'apostrophe,

https://www.excel-pratique.com/forum/viewtopic.php?t=10004&start=10&postdays=0&postorder=asc&highlight=

édit:

ou quelque chose du genre :

Left(Range("n25"), 1).Delete

mais la syntaxe n'est pas bonne !

Bonne journée

Claude.

re forum,

J'ai contourné le problème avec ce nouveau code

Sub Concat2()
'macro par Claude pour Lgarlyfanny le 24/02/09
Dim Cel As Range
Dim Lg As String
        Application.ScreenUpdating = False
       If Range("f1").Offset(, 7) = True Then Lg = 1 '1ère ligne
       If Range("f1").Offset(, 7) = False Then Lg = 2 '1ère ligne

    With Range("n25")
       .ClearContents
       .Value = Range("f" & Lg)
            For Each Cel In Range(Range("f" & Lg + 1), Range("f15"))
                    If Cel.Offset(, 7) = True Then
                        .Value = .Value & Chr(10) & Cel.Value
                    End If
            Next Cel
    End With
End Sub

Mais la question reste posée : comment supprimer une apostrophe ?

Amicalement

Claude.

Bonsoir, Claude

une manière simple :

Range("N25").Formula = Range("N25").Formula

Maintenant, pour connaître le préfixe de ta cellule, tu peux essayer ce code :

MsgBox Range("N25").PrefixCharacter

et si tu veux supprimer toutes les apostrophes de début de ligne, tu peux utiliser ce code :

Sub EnleveApostrophe()
Dim Cel As Range
For Each Cel In Cells.SpecialCells(xlCellTypeConstants, 23)
    If Cel.PrefixCharacter <> "" Then
        Cel.Formula = Cel.Formula
    End If
Next Cel
End Sub

Bonsoir,

Mais la question reste posée : comment supprimer une apostrophe ?

regarde ce lien --> https://www.excel-pratique.com/forum/viewtopic.php?t=4191 et le code posté le 25/02/08.

C'est cela que tu veux ?

Amicalement

Dan

re,

Bonjour felix,

Voilà ce que çà donne avec : Range("N25").Formula = Range("N25").Formula

"

Charpente bois: Morel, Durance Charpente, Silves Aix, Duca Entreprise, SEMF

Façades: TDS, SOPER, Star Façade

Etancheïté: ETPHOBAT, E2J, SMEI, Nalin

Serrurerie: Aleksi, Chiri, Alquier, Birri, Charraix"

merci, mais ce n'est pas encore çà

C'est peut-être un saut de ligne Chr(10) non ?

Claude.

8analyse.rar (128.27 Ko)

Re-,

je ne peux vraiment pas travailler sur ton post.......

La ligne vide, c'est voulu ou pas?

Si oui, une suppression de chr(10) t'enlèverait tous les retours chariots.....

Je ne pense pas que cela soit le résultat désiré....

Le Guillemet, c'est voulu ou pas?

Mets un fichier avec la cellule, et sa valeur, sans le code......

re,

Claude tu as regardé le lien que je t'ai donné ?

A te relire

Dan

re forum,

Excuse Dan, j'ai pas vu passer ton message !

je regarde en ce moment, le Chr(10) a l'air d'être la cause.

et en relisant ma macro, çà parait logique

With Range("n25")
    .Value = .Value & Chr(10) & Cel.Value

le 1er tour de boucle, N25 est vide donc .Value = vide

Bon j'épluche ton lien

Claude.

re,

Dan,felix, rien ne correspond vraiment,

pour mieux comprendre le problème voici le fichier

https://www.excel-pratique.com/~files/doc/Concat2.xls

la macro Concat2 fonctionne, mais c'est un peu "bidouillé" !

Claude.

Bonsoir a tous

Si c'est bien de cela que vous parlez, le code ascii de l'apostrophe est 39

Cordialement

re,

çà ne va toujours pas, même avec Concat2, si les 2 premières lignes ne sont pas cochées.

Seul truc que j'ai trouvé, c'est de mettre un titre en N25 (ici Résumé)

Sub Concat_3() 
'macro par Claude pour Lgarlyfanny le 23/02/09
Dim Cel As Range
    Application.ScreenUpdating = False
    Range("n25") = "Résumé"
        For Each Cel In Range("f1:f15")
            With Range("n25")
                If Cel.Offset(, 7) = True Then
                    .Value = .Value & Chr(10) & Cel.Value
                End If
            End With
        Next Cel
End Sub

à Voir si çà convient à Lgarlyfanny

Claude.

édit: Salut maguetlolo, je regarde ton lien

re,

Enfin trouvé !

Sub Concat4() 'OK
'macro par Claude pour Lgarlyfanny le 24/02/09
Dim Cel As Range, Co As Range
Dim Lg As String
    Application.ScreenUpdating = False
         For Each Co In Range("m1:m15")  '***cherche 1ère ligne cochée
            If Co = True Then
                Lg = Co.Row
                Exit For
            End If
         Next Co

    With Range("n25")
       .ClearContents
         If Lg = "" Then Exit Sub '*** quitte si aucune case cochée
       .Value = Range("f" & Lg)
            For Each Cel In Range(Range("f" & Lg + 1), Range("f15"))
                If Cel.Offset(, 7) = True Then
                    .Value = .Value & Chr(10) & Cel.Value
                End If
            Next Cel
    End With
End Sub

C'était un bon exercice,

Merci à tous,

Claude.

édit: ajouter ligne Exit Sub, si aucune case cochée

Rechercher des sujets similaires à "vba code apostrophe suppression"