Bonjour,

Sous Access, j'ai une table "Identification" comportant 6 champs dont le champ "Prenom". Je souhaite supprimer tous les espaces de ce champ
(Marie Thérèse -----> MarieThérèse).
J'ai tout d'abord créé (en VBA) un nouveau champ "PrenomSansEspaces", car je souhaite conserver mon champ d'origine pour le moment.

Soyez compréhensifs si des lignes vous paraissent aberrantes, je fais mes premiers pas en programmation!!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub RemplacerEspaces()

Dim db As DAO.Database
Dim table As DAO.TableDef
Dim champ1 As DAO.Field, champ2 As DAO.Field
Dim rst1 As DAO.Recordset, rst2 As DAO.Recordset
Dim ChaineActuelle As String 'chaîne dans laquelle s'effectue la recherche
Dim Resul As String

Set db = CurrentDb

Set table = db.TableDefs("Identification")

Set champ1 = table.Fields("Prenom")
Set champ2 = table.Fields("PrenomSansEspaces")

Set rst1 = table.OpenRecordset(champ1)
Set rst2 = table.OpenRecordset(champ2)


rst1.MoveFirst
While Not rst1.EOF
  If RechercherEspaces <> 0 Then
      Resul = Replace(ChaineActuelle, " ", "")
      rst2.AddNew(resul)
  Else: Resul = ChaineActuelle
   rst2.AddNew(resul)
  rst1.MoveNext
  End If
  
Wend

'Message indiquant si la suppression des espaces est réussie
MsgBox "Les cellules du champ " & champ1.Name & " ne contiennent plus d'espaces "

End Sub

Quand je lance la procédure, il n'y a plus d'erreurs de trouvées, le "MsgBox" s'affiche! Mais ma table est inchangée.
Pour la fonction "RechercherEspaces", j'ai utilisé "InStr"!

Je pense que MES erreurs vont vous sauter aux yeux! (AddNew, recordset!??)

Merci d'avance pour votre aide