Microsoft 365 Code VBA

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous 🙂

Je n'arrive pas à faire fonctionner mon code.
Le contexte :
Condition 1
- Texte en...B5 : "Outre Mer Et excel-download"
- N° tel en.E5 : 33111111111
La condition est la suivante : si E5 <33999999999 : en B5 = "Et excel-download" ("Outre Mer " doit être supprimé)
Condition 2
- Texte en.. B5 : "Et excel-download"
- N° tel en.E5 : 262111111111 (par exemple)
La condition est la suivante : si E5 >33999999999 : en B5 = "Outre Mer Et excel-download" ("Outre Mer " doit être ajouté)
La condition 2 fonctionne bien et ne pose pas de problème 🙂

Ce n'est pas le cas de la Condition 1 et malgré mes tentatives, je n'y arrive pas !
Mes 4 codes différents ne fonctionnent pas Grrrrr !!! 😡🙄
VB:
Sub OutreMer1()
[e5].Select
If ActiveCell > 33999999999# Then
    ActiveCell.Offset(0, -3) = "Outre Mer " & ActiveCell.Offset(0, -3).Value
    Else
    ActiveCell.Offset(0, -3).Value = "=MID(RC[-3],10,LEN(ActiveCell.Offset(0, -3)))"
    End If
    [A5].Select
End Sub
Sub OutreMer2()
[e8].Select
If ActiveCell > 33999999999# Then
    ActiveCell.Offset(0, -3) = "Outre Mer " & ActiveCell.Offset(0, -3).Value
    Else
    ActiveCell.Offset(0, -3).Value = "=MID(ActiveCell.Offset(0, -3),11,300)"
    End If
    [A8].Select
End Sub
Sub OutreMer3()
[e11].Select
If ActiveCell > 33999999999# Then
    ActiveCell.Offset(0, -3) = "Outre Mer " & ActiveCell.Offset(0, -3).Value
    Else
    ActiveCell.Offset(0, -3).Value = "=RIGHT(RC[-3],LEN(RC[-3])-10)"
    End If
    [A11].Select
End Sub
Sub OutreMer4()
[e14].Select
If ActiveCell > 33999999999# Then
    ActiveCell.Offset(0, -3) = "Outre Mer " & ActiveCell.Offset(0, -3).Value
    Else
    ActiveCell.Offset(0, -3).Value = "=REPLACE(ActiveCell.Offset(0, -3),1,10,"""")"
    'ActiveCell.Offset(0, -3).Value = "=REPLACE(RC[-3],1,10,"""")"
    End If
    [A14].Select
End Sub
Auriez-vous le bon code pour la condition 1 ?
Je joins mlon fichier test.
Un grand merci.
Entre temps, je continue recherches et tests...
Lionel 🙂
 

Pièces jointes

Solution
Bonjour Lionel, fanch55, le forum,

ActiveCell.Offset(0, -3).Value = Mid(ActiveCell.Offset(0, -3), 11) ne va pas du tout quand on exécute 2 fois de suite la macro avec le même n° 33111111111.

Utilisez plutôt :
VB:
Sub OutreMer1()
With [B5]
    .Value = IIf(.Offset(, 3) > 33999999999#, "Outre Mer ", "") & Replace(.Value, "Outre Mer ", "")
End With
End Sub
A+
Bonjour Lionel, fanch55, le forum,

ActiveCell.Offset(0, -3).Value = Mid(ActiveCell.Offset(0, -3), 11) ne va pas du tout quand on exécute 2 fois de suite la macro avec le même n° 33111111111.

Utilisez plutôt :
VB:
Sub OutreMer1()
With [B5]
    .Value = IIf(.Offset(, 3) > 33999999999#, "Outre Mer ", "") & Replace(.Value, "Outre Mer ", "")
End With
End Sub
A+
 

Pièces jointes

Re 🙂
Sub OutreMer1()
With ActiveCell.Offset(, -3)
.Value = IIf(ActiveCell > 33999999999#, "Outre Mer ", "") & Replace(.Value, "Outre Mer ", "")
End With
End Sub
Fonctionne nickel de chez nickel.
"Outre Mer " s'affiche et s'enlève à gauche dans la cellule.
On pourrait le faire à droite en bout de texte " Outre Mer" ?
Cela me laisserait la possibilité de la mettre dans la cellule de mon Prospect sans altérer le classement alphabétique.
Je cherche de mon côté,
Encore merci ...
lionel 🙂
 
- 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
230
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
74
Réponses
4
Affichages
142
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
245
Réponses
2
Affichages
400
Retour