Dans ma colonne "A" j'ai une liste de nom finissant par des guillemets comme ceci ...Les Abymes"
J'ai mis se code
Code:
Sub SupprCaractA()
Dim Nc, Cel As Range
For Each Cel In Range("a1:a1000")
Cel.Value = Trim(Cel.Value)
Nc = Len(Cel)
Cel.Value = Left(Cel, Nc - 1)
Next Cel
End Sub
j'ai un message d'erreur " Argument ou appel de procédure incorrect"
Sinon essaie avec ces modis
Sub SupprCaractA_bis()
Dim Nc&, Cel As Range
For Each Cel In Range("a1:a1000")
Cel.Value = VBA.Trim(Cel.Value)
Nc = VBA.Len(Cel)
Cel.Value = VBA.Left(Cel, Nc - 1)
Next Cel
End Sub
Bonjour Gardien de Phare
C'est justement ce que je viens de réaliser
(je suis encore dans les brumes du sommeil, et le café n'est pas encore passé dans la cafetière)
VB:
Sub SupprCaractA_OK()
Dim C As Range, X$
For Each C In Range("a1:a1000")
If Len(C) > 0 Then
X = Trim(C): C.Value = Left(X, Len(X) - 1)
End If
Next
End Sub
Cela fonctionne aussi (si pas de formules dans la colonne A)
VB:
Sub SupprCaractA_OKbis()
Dim C As Range, X$
For Each C In Columns(1).SpecialCells(xlCellTypeConstants, 2)
X = Trim(C): C.Value = Left(X, Len(X) - 1)
Next
End Sub
Suite au code pour supprimer le dernier caractère je voudrais ajouter un underscore au mot composé. je sais qu'il faut ajouter "Replace "_" " mais j’essaye depuis hier sans résultat ?
@maval
En guise d'exemple, pour adaptation au fichier réel (que je te laisse faire)
VB:
Sub test_sans_fichier_joint_par_le_demandeur()
Dim mot_composé$
mot_composé = "Jean-Marie" & Chr(34)
MsgBox Replace(Replace(mot_composé, Chr(34), ""), "-", "_")
End Sub
Bonsoir,
Qu'est-ce que tu n'arrive pas à faire ? Ce que l’Agrafe t'a proposé supprime les double-quotes (") exprimées par chr(34) et remplace les tirets (-) par des underscore (_). Peut-être qu'avec un petit fichier représentatif des données d'origine et du résultat attendu, ce serait plus simple, peut-être...