Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fct "Remplacer" suivant critères sous macro

11 réponses
Avatar
titou
bonjour,

j'ai une petit problème de mise en forme dans un tableau.
Je voudrai lorsque dans la colonne "N°TEL" les numéros commencant par "06"
et que dans la colonne "Typ d'appel" a chaque apparition du mot "CPL" on
remplace le mot CPL par CPL/GSM et sinon par CPL/RTC.

J e connais pas très bien le langue VBA pour faire cette fontcion
ex:
If dans ( A1:A65535) mot commençant par ("06") and dans (B1:B65535) mot
("CPL")
then (B1:B65535) ("CPl"="CPL/GSM")
Elseif (B1:B65535) ("CPL"="CPL/RTC")

Je vous en remercie d'avance.

Thierry

1 réponse

1 2
Avatar
titou
Salut FFO,
Et bien ton code marche nikel , je te remercie beaucoup de ton aide cela m'a
permis de me débloquer, j'ai meme fais un code à l'aide de tes explications.

A bientot, je pense pour d'autre explication...et merci

Thierry



Salut Titou
Hier suite à ta réponse je t'est proposé un nouveau code que je n'avais pas
eu le temps de tester
Or je m'aperçois aujourd'hui qu'il comporte 1 anomalie
De plus je n'avais pas intégré que tu basais ta condition N° de téléphone
sur ceux commençant ou ne commençant pas par 06 et non égal et ayant CPL
comme Type d'appel
Je m'enpresse donc de t'en fournir un autre corrigé à utiliser en lieu et
place
Mille excuses
Le code corrigé :

For Each c In Worksheets("Onglet").Range([A1], [A65535].End(xlUp))
If c Like "06*" And c.Offset(0, 1) = "CPL" Then
c.Offset(0, 1) = "CPL/GSM"
End If
If c Like "06*" = False And c.Offset(0, 1) = "CPL" Then
c.Offset(0, 1) = "CPL/RTC"
End If
Next

J'ai traité tes conditions en supposant qu'il n'y a que 6 catégories
ne traitant que le Type d'appel égal à CPL avec des N° commençant ou non par
06
Laissant les autres intact

J'espère enfin avoir répondu à ton attente
Rassure moi vite !!!!


Excuse moi FFO ton code est tout à fait juste, c'est moi qui me suis pas
exprimé jusqu'au bout.

en faite si ça comme par "06" et que j'ai "CPL" alors je met CPL/GSM
sinon si c'est 01 , 02 ,03,04 ,05 et que j'ai "CPL" alors je met CPL/RTC
sinon si c'est 01,02,03,04,05,06 et que j'ai tout sauf "CPL" alors je je
change rien à la colonne "Typ d'appel"

Jespère que mon explication est assez clair.

MERCI.

Thierry

Re bonjours titou

Mon code répond scrupuleusement à ta demande :

If dans ( A1:A65535) mot commençant par ("06") and dans (B1:B65535) mot
("CPL")
then (B1:B65535) ("CPl"="CPL/GSM")
Elseif (B1:B65535) ("CPL"="CPL/RTC")

qui veut dire pour moi :
en prenant pour exemple les cellules A1 et B1

If dans ( A1:A65535) mot commençant par ("06") and dans (B1:B65535) mot
("CPL")
si A1 est égal à 06 et B1 = CPL

then (B1:B65535) ("CPl"="CPL/GSM")
alors B1 égal CPL/GSM

Elseif (B1:B65535) ("CPL"="CPL/RTC")
Sinon B1 egal CPL/RTC

En claire seul le cas de A1 = 06 et B1 = CPL donne B1 = CPL/GSM
Tous les autres cas donne B1 = CPL/RTC
Donc notamment pour les type appel correspondant à GSM RTC RTC/GSM (qui ne
sont pas CPL donc répondant à la condition Sinon ci-dessus)
C'est tout à fait normal

Celà ne semble pas te convenir !!!!
Il y a donc un manquement dans ta demande

Dans quel but m'a tu transmis ces numéros de téléphone ????
J'avoue ne pas comprendre
Merci de préciser

A toi de mieux formuler


c'est encore moi

j'ai mis mes deux collonne l'une à coté de l'autre

mes numéros de téléphone sont de cette forme là

06 12 12 12 12
01 12 12 12 12
02 12 12 12 12
.....

et les cellules de ma colonne N°tél sont aux "format cellules horizontale"=
retrait gauche et "format cellules verticale"= centré et et au "format
cellules spécial"=n°téléphone français et pour l'autre colonne "type d'appel"
"format cellules horizontale"= retrait gauche et "format cellules
verticale"= centré

voici pour les précisions.

je ne parviens tjrs pas a comprendre pkoi ça met partout CPL/RTC même quand
dans la colonne "typ d'appel" il n'y apparai pas CPL mais par ex GSM ou RTC
ou bien Interface RTC/GSM...

MERCI.

Thierry


Bonjour FFO,
Merci de aide et pour ce code qui marche presque bien car ,

j'ai un pb avec ce code qui me transforme tout en CPL/RTC

Merci.
Thierry


Salut titou
Je te propose une solution macro que tu pourras facilement adapter
Le code :
Sheets("Onglet").Select
For Each c In Worksheets("Onglet").Range([A1], [A65535].End(xlUp))
If c = 6 And c.Offset(0, 1) = "CPL" Then
c.Offset(0, 1) = "CPL/GSM"
Else
c.Offset(0, 1) = "CPL/RTC"
End If
Next
Qui veut dire :
pour chaque valeur de c dans la plage A1: A(dernière cellule remplie)
si c = 06 et c (cellule adjacente) = "CPL"
alors
c(cellule adjacente) = "CPL/GSM"
sinon
c(cellule adjacente) = "CPL/RTC"

Tu peux mettre si tu le souhaites des conditions supplémentaires
Pour celà tu dois les rajouter comme ceci dans la ligne :
If c and c.offset(0,1) = "CPL" and condition and condition etc... then
N'oublies pas d'actualiser le mot "Onglet" en fonction du nom de ta feuille

A ta disposition pour des compléments éventuels


bonjour,

j'ai une petit problème de mise en forme dans un tableau.
Je voudrai lorsque dans la colonne "N°TEL" les numéros commencant par "06"
et que dans la colonne "Typ d'appel" a chaque apparition du mot "CPL" on
remplace le mot CPL par CPL/GSM et sinon par CPL/RTC.

J e connais pas très bien le langue VBA pour faire cette fontcion
ex:
If dans ( A1:A65535) mot commençant par ("06") and dans (B1:B65535) mot
("CPL")
then (B1:B65535) ("CPl"="CPL/GSM")
Elseif (B1:B65535) ("CPL"="CPL/RTC")

Je vous en remercie d'avance.

Thierry














1 2