Je dois créer une macro-commande sur Excel permettant de modifier des caractères automatiquement mais je ne sais pas comment.
Par exemple j'ai ce document:
PMO|29||33937998401008|3|060930255001|déversoir en tète de stat|A2||||||||||||
PMO|31||33937998401008|3|060930255001|Entrée Station |A3||||||||||||
PMO|32||33937998401008|3|060930255001|sortie station |A4||||||||||||
PMO|41||33937998401008|3|060930255001|boues produites avant tra|A6||||||||||||
PMO|5||33937998401008|3|060930255001|Graisses évacuées sans tr|A9||||||||||||
PMO|6||33937998401008|3|060930255001|Sable produit évacué|A10||||||||||||
PMO|7||33937998401008|3|060930255001|Refus dégrillage produit |A11||||||||||||
Il faut que je change A2 en S2, A3 en S3 et ca pour plusieurs documents. Ces caractères sont toujours placer au même endroit. <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Par exemple :
PMO|29||33937998401008|3|060930255001|déversoir en tète de stat|S2||||||||||||
PMO|31||33937998401008|3|060930255001|Entrée Station |S3||||||||||||
PMO|32||33937998401008|3|060930255001|sortie station |S4||||||||||||
PMO|41||33937998401008|3|060930255001|boues produites avant tra|S6||||||||||||
PMO|5||33937998401008|3|060930255001|Graisses évacuées sans tr|S9||||||||||||
PMO|6||33937998401008|3|060930255001|Sable produit évacué|S10||||||||||||
PMO|7||33937998401008|3|060930255001|Refus dégrillage produit |S11||||||||||||
Ce sont des fichiers texte (.txt) au format Sandre, ils s'ouvrent avec un logiciel de traitement de texte.
Merci de votre aide.
A voir également:
Creation d'une macro excel modifiant des carateres
Salut,
C'est pas très clair mais bon pour un lundi matin on peut essayer ça :
mémorise une macro et exécute Remplacer "|A2|" par "|S2|"
Normalement cela devrait le faire
Cliquer "Réponse Acceptée" Partageons Notre Savoir & Nos Acquis - JML<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
Je l'ai deja fait mais ca me met plein d'erreur.
En faite il faudrai que des que j'ouvre le document je clique sur un bouton ou la macro est associé et que ca me modifier tout les caracteres.
Tu peux même rêver d'une macro qui s'exécute automatiquement à l'ouverture du fichier ... Voir les possibilité dans le module
"ThisWorkbook"
Sub Workbook_Open()
Cliquer "Réponse Acceptée"Partageons Notre Savoir & Nos Acquis - JML<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
On Error Resume Next
Open sPath For Input As #FF
sBuffer = Input(LOF(FF), #FF)
Close #FF
If Not (Err.Number = 0) Then Exit Function
aLines = Split(sBuffer, vbNewLine)
For i = 0 To UBound(aLines)
aCols = Split(aLines(i), sSepar)
If i = 0 Then ReDim aRes(UBound(aLines), UBound(aCols))
For j = 0 To UBound(aCols)
aRes(i, j) = aCols(j)
Next j
Next i
GetColumnsFromFile = aRes
Erase aLines: Erase aCols: Erase aRes
End Function
Private Sub SetColumnsToFile(ByRef saArr() As String, ByVal sPath As String, Optional ByVal sSepar As String = ";")
Dim i As Integer, j As Integer, s As String, FF As Integer
FF = FreeFile
Open sPath For Output As #FF
For i = 0 To UBound(saArr)
s = vbNullString
For j = 0 To UBound(saArr, 2)
s = s & saArr(i, j) & sSepar
Next j
Print #FF, Left$(s, Len(s) - Len(sSepar))
Next i
Close #FF
End Sub
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Imagine
Une feuille "Correspondance" ou tu gères les correspondances:
A B
1 A3 S16
2 A5 S12
3 etc
3 variables qui feraient la ronde dans une boucle
ValCherche , ValRemplace, I , NbLg
' Une boucle
NbLg= Nombre de lignes à traiter
For I= 1 to NbLg
ValCherche = Sheets("Correspondance").Cells(I, 1)
ValRemplace = Sheets("Correspondance").Cells(I, 2)
ActiveCell.Replace What:=ValCherche, Replacement:=ValRemplace, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next I
Ce qui serait bien, c'est que tu y mettes un peu les formes !!! On prends du temps et de la peine pour donner un coup de main ... Alors relis mes posts précédents - si c'est a moi que s'adresse ta question - et tu trouveras la réponse