Remplacer des "P" par des "R"

  • Initiateur de la discussion Initiateur de la discussion elect31
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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!!!😀
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😕
Merci🙂
elect
 
Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
447
Réponses
5
Affichages
707
Réponses
2
Affichages
332
Réponses
1
Affichages
608
Réponses
21
Affichages
979
Retour