Remplacer selon condition

Fermé
Playa2 - 14 févr. 2013 à 16:05
 Playa2 - 15 févr. 2013 à 09:36
Bonjour,

Je recherche le moyen de remplacer dans la colonne A un N° par le même numéro précédé de la lettre C si dans la colonne K est inscrit la mention Correction Statistique.

Je connais bien Edition Remplacer mais il faudrait que ce soit une macro afin que le remplacement se fasse automatiquement à l'ouverture du fichier par exemple...

En effet, c'est une source qui sert à alimenter un fichier.

Pour plus de facilité voici le fichier :

http://cjoint.com/?3BoqeOxVFJo

D'avacne merci.
A voir également:

2 réponses

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
14 févr. 2013 à 20:54
Bonsoir,

Le code à mettre dans ThisWorkbook Workbook serait celui-ci :

Private Sub Workbook_Open()

Sheets("source").Select
Range("A1").Select
For n = 2 To Selection.End(xlDown).Row
a = Cells(n, 1).Value
If Cells(n, 11).Value = "Correction Statistique" Then Cells(n, 1).Value = "C " & a
Next

End Sub

Cdlmnt
1
via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
14 févr. 2013 à 21:10
Dsl j'ai sauté une condition en recopiant

La bonne ligne IF est celle ci
If Left(a, 1) <> "C" And Cells(n, 11).Value = "Correction Statistique" Then

En effet il faut vérifier qu'il n'y ait pas déjà un C sinon il s'en rajouterait un à chaque ouverture du classeur!
0
Hello,

Merci beaucoup via55, ça fonctionne parfaitement.

Voici donc la macro finale pour les personnes que ça pourrait intéresser :

Private Sub Workbook_Open()

Sheets("source").Select

Range("A1").Select
For n = 2 To Selection.End(xlDown).Row
a = Cells(n, 1).Value
If Left(a, 1) <> "C" And Cells(n, 11).Value = "Correction Statistique" Then
Cells(n, 1).Value = "C " & a

End If
Next

End Sub
0