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 !

romainchu78

XLDnaute Occasionnel
Bonjour a tout le forum,

J'ai quelques lignes de codes. elle permettent de balayer la colonne
A en commencant par la fin. il check sur chacun des 3 premiers caractere des donnees pour voir si elle commence par F9X. si elle sont different alors il affiche un message.

Sub Macro3()
Dim n As Long
For n = Range("A65536").End(xlUp).Row To 1 Step -1
If Left(Trim(Range("A" & n)), 3) <> "F9X" Then
MsgBox "issue in row " & n
End If
Next n
End Sub

mon probleme est que je n'ai pas seulement F9X je veux aussi controler les donnees commencant par F2X, F7X et FNX.
comment puis incorporer ces mots cle dans la boucle if?
j'ai essaye de le faire de la maniere suivante en vain.

Sub Macro3()
Dim n As Long
For n = Range("A65536").End(xlUp).Row To 1 Step -1
If Left(Trim(Range("A" & n)), 3) <> "F9X" Or Left(Trim(Range("A" & n)), 3) <> "F7X" Or Left(Trim(Range("A" & n)), 3) <> "F2X" Or Left(Trim(Range("A" & n)), 3) <> "FNX" Then
MsgBox "issue in row " & n
End If
Next n
End Sub
merci
 
Re : Recherche auto

Bonsoir le forum et romain,

Sans avoir testé, tu peux essayer cela

Code:
Sub Macro3()
Dim n As Long
For n = Range("A65536").End(xlUp).Row To 1 Step -1
If Left(Trim(Range("A" & n)), 3) = "F9X" Or Left(Trim(Range("A" & n)), 3) ="F7X" Or Left(Trim(Range("A" & n)), 3)= "F2X" Or Left(Trim(Range("A" & n)), 3) ="FNX" Then
exit sub
Else
MsgBox "issue in row " & n
End If
Next n
End Sub

Bonne soirée,

Ninbihan
 
Re : Recherche auto

Ok, maintenant je voudrais detecter si presence du carctere # en debut de donnees pour chacune des cases.
j'ai un debut de code comme cela:

Sub Macro2bis()
Application.ScreenUpdating = False
Dim rngCell As Range
For Each rngCell In ActiveSheet.UsedRange
If premiere caractere commence par # Then
cellule concernee = ""
End If
Next
Application.ScreenUpdating = True
End Sub

sachant que cette structure de code est en generale tres performante car je peux avoir des listes de plus de 9000 lignes sur 6 colonnes.
 
Re : Recherche auto

bonsoir

Avec "select case" cela fonctionne aussi :

For n = Range("A65536").End(xlUp).Row To 1 Step -1
Select Case Left(Trim(Range("A" & n)), 3)
Case "F9X", "F7X", "F2X", "FNX", "ABC", "..."
Case Else
MsgBox "issue in row " & n
End Select
Next n


N'importe quel code peut être rajouté sans problème.

idem pour "#"

For Each rngCell In ActiveSheet.UsedRange
Select Case Left(rngCell ), 1)
Case "#"
rngCell =""
Case Else
End Select

Next
 
Dernière édition:
- 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

Réponses
5
Affichages
910
Réponses
15
Affichages
784
Retour