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

Macro qui n'en fait qu'=c3=a0 sa t=c3=aate.

3 réponses
Avatar
Daniel
Bonjour,

Voilà mon souci,
J'ai tenté d'écrire une macro qui cherche dans les cellules de la
colonne A si Toto est contenu dans le texte ou pas.
S'il est contenu alors en B (même ligne) il s'écrit Masculin sinon c'est
féminin qu'il s'écrit.
Voilà mes 2 tentatives :

Sub Autre()
Dim derLig As Long
Dim c As Range
derLig = ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Row

For Each c In Range("A4:A" & derLig)
If c Like "*MESSIEUR*" Then
c.Offset(0, 1).Value = "MASCULIN"
Else
c.Offset(0, 1).Value = "FEMININ"
End If
Next c
End Sub

Sub Autre2()
Dim derLig As Long
Dim c As Range
derLig = ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Row

For Each c In Range("A4:A" & derLig)
If c.Find(MESSIEUR) Is Nothing Then
Cells(c.Row, 2).Value = "MASCULIN"
Else
Cells(c.Row, 2).Value = "FEMININ"
End If
Next

End Sub

Alors la macro Autre() ne me donne que des "FEMININ" et Autre2() ne me
donne que des "MASCULIN" mais aucune ne fait correctement ce qu'il est
attendu. Grrrhh

Si l'un ou l'une d'entre vous pouvait m'éclairer, ce serait bien aimable.

Petite question supplémentaire : Est-ce que la casse du mot cherché
jouerait sur le résultat ?

Merci d'avance à celui ou celle qui prendra un peu de temps pour mon cas.
Daniel

3 réponses

Avatar
ThierryP
Bonsoir Daniel,
Afin de t'affranchir du problème de la casse (effectivement prise en c ompte), utilise pour la macro Autre :
If ucase(c) Like "*MESSIEUR*"
etc...
Pour la deuxième macro, même chose !
Bonne soirée,
Le jeudi 11 mai 2017 19:25:38 UTC+2, Daniel a écrit :
Bonjour,
Voilà mon souci,
J'ai tenté d'écrire une macro qui cherche dans les cellules de la
colonne A si Toto est contenu dans le texte ou pas.
S'il est contenu alors en B (même ligne) il s'écrit Masculin si non c'est
féminin qu'il s'écrit.
Voilà mes 2 tentatives :
Sub Autre()
Dim derLig As Long
Dim c As Range
derLig = ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Row
For Each c In Range("A4:A" & derLig)
If c Like "*MESSIEUR*" Then
c.Offset(0, 1).Value = "MASCULIN"
Else
c.Offset(0, 1).Value = "FEMININ"
End If
Next c
End Sub
Sub Autre2()
Dim derLig As Long
Dim c As Range
derLig = ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Row
For Each c In Range("A4:A" & derLig)
If c.Find(MESSIEUR) Is Nothing Then
Cells(c.Row, 2).Value = "MASCULIN"
Else
Cells(c.Row, 2).Value = "FEMININ"
End If
Next
End Sub
Alors la macro Autre() ne me donne que des "FEMININ" et Autre2() ne me
donne que des "MASCULIN" mais aucune ne fait correctement ce qu'il est
attendu. Grrrhh
Si l'un ou l'une d'entre vous pouvait m'éclairer, ce serait bien aim able.
Petite question supplémentaire : Est-ce que la casse du mot cherch é
jouerait sur le résultat ?
Merci d'avance à celui ou celle qui prendra un peu de temps pour mon cas.
Daniel
Avatar
Geo
Bonjour
Afin de t'affranchir du problème de la casse (effectivement prise en compte),
utilise pour la macro Autre : If ucase(c) Like "*MESSIEUR*"
etc...

C'est sûr qu'on écrit plutôt messieurs ou monsieur.
Pour la deuxième macro, même chose !

... avec des guillemets.
Comme quoi l'option explicit a un intérêt.
Avatar
JièL
Hello
Le 12/05/2017 à 07:33, Geo a écrit :
Bonjour
Afin de t'affranchir du problème de la casse (effectivement prise en
compte), utilise pour la macro Autre : If ucase(c) Like "*MESSIEUR*"
etc...


Et si on met Option Compare Text en début de module ça résout pas le pb
de casse ?
C'est sûr qu'on écrit plutôt messieurs ou monsieur.
Pour la deuxième macro, même chose !

... avec des guillemets.
Comme quoi l'option explicit a un intérêt.

C'est carrément une option IN-DIS-PEN-SABLE !