Remplacer des "P" par des "R"

elect31

XLDnaute Nouveau
Bonsoir
Comme le dit le titre, j'essaye simplement de remplacer les "P" d'une colonne par des "R".
Hé bèh! ça bloque!!!:D
J'ai une incompatibilité de type quand j'arrive à la ligne "If cell.Value = "P" Then"
J'utilise la fonction Find_R pour retrouver la bonne colonne dans la ligne des titres.(et elle fonctionne bien...)
A B C D E
1 Date N° Opération R <<<< Les titres
2 04/01/59 1 achat P
3
4 12/01/63 2 matos P

Voilà le code:

Dim maFeuille As String
Sub rapprochement()
Dim cell As Range, macolonne As String
maFeuille = ActiveSheet.Name
macolonne = Left$(Range(Find_R).Address(0, 0), (Range(Find_R).Column < 27) + 2) 'Laurent Longres
For Each cell In Worksheets(maFeuille).Columns(macolonne & ":" & macolonne)
If cell.Value = "P" Then
cell.Value = "R"
End If
Next cell
End Sub
Function Find_R() As String
'Permet de retrouver la cellule qui contient "R" dans la ligne des titres
Dim cell As Range, titres As Range
Set titres = Worksheets(maFeuille).Range(Range("A1"), Range("A1").End(xlToRight))

For Each cell In titres
If cell = "R" Then
Find_R = cell.Address
End If
Next cell
End Function

J'espère avoir été clair:confused:
Merci:)
elect
 
Dernière édition:

elect31

XLDnaute Nouveau
Re : Remplacer des "P" par des "R"

Merci Brigitte
J'ai résolu mon problème ( grâce au MPFE)
Je mets le code ici, si ça peut servir à quelqu'un

Option Private Module
Option Explicit
Public adresseR As String
Public macolonneR As Byte
Dim maFeuille As String

Sub rapprochement()
Dim derniere As Byte, i As Byte
maFeuille = ActiveSheet.Name
adresseR = Find_R

macolonneR = Range(adresseR).Column

With Worksheets(maFeuille)
derniere = .UsedRange.Rows.Count
For i = 2 To derniere
If .Cells(i, macolonneR).Formula = "P" Then
.Cells(i, macolonneR).Formula = "R"
End If
Next
End With
End Sub

Function Find_R() As String 'Trouver l'adresse
'de l'intitulé "R" dans la ligne (1) des titres de colonnes
Dim cell As Range, titres As Range
Set titres = ActiveSheet.Range(Range("A1"), Range("A1").End(xlToRight))

For Each cell In titres
If cell = "R" Then
Find_R = cell.Address
End If
Next cell
End Function
 

Discussions similaires

Réponses
1
Affichages
195
Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 979
dernier inscrit
bderradji