Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Code VBA

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

  • Outre Mer.xlsm
    34.3 KB · Affichages: 6
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+

fanch55

XLDnaute Barbatruc
Salut Lionel,
Tu t'es coincé tout seul en te focalisant à vouloir mettre une formule dans une valeur .
Le plus simple :
ActiveCell.Offset(0, -3).Value = Mid(ActiveCell.Offset(0, -3), 11)
 

job75

XLDnaute Barbatruc
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

  • Outre Mer(1).xlsm
    29.3 KB · Affichages: 2

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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
 

job75

XLDnaute Barbatruc
Tu aurais pu le faire tout seul je pense :
VB:
Sub OutreMer1()
With [B5]
    .Value = Replace(.Value, " Outre Mer", "") & IIf(.Offset(, 3) > 33999999999#, " Outre Mer", "")
End With
End Sub
 

Pièces jointes

  • Outre Mer(2).xlsm
    28.3 KB · Affichages: 2
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…