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

Formule STXT en VBA

  • Initiateur de la discussion Initiateur de la discussion marfipo
  • Date de début Date de début

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 !

marfipo

XLDnaute Occasionnel
Bonjour à tous,
dans le fichier ci-joint je voudrais modifier cette partie du code qui se trouve dans le module newmonthsheet :

Code:
  For I = 35 To 9 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") < Range("B8") Then Rows(I).Delete
    End If
  Next I

je souhaite modifier cette partie en rajoutant une nouvelle condition comme ceci :
pour chaque cellule de la colonne B ====> SI(STXT(B;1;2)="OT" alors supprimer la ligne

en cherchant dans le web j'ai rédigé le code ci-dessous mais il me r'envois une erreur je ne sais pas comment le modifier

Code:
  For I = 35 To 10 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") <= Range("B8") Then
        If Left(Cells(I, "B"), 2) = "OT" Then Rows(I).Delete
    End If
  Next I

Merci d'avance
 

Pièces jointes

Re : Formule STXT en VBA

Bonjour,

a priori, il te manque un End If

For I = 35 To 10 Step -1
If IsDate(Cells(I, "E").Value) Then
If Cells(I, "E") <= Range("B8") Then
If Left(Cells(I, "B"), 2) = "OT" Then Rows(I).Delete
End If
End If
Next I

a+
 
Re : Formule STXT en VBA

Bonjour,

la fonction "cells" demande deux valeurs nombres.
Exemple :
Code:
 cells(3,5)

Je te propose d'utiliser le Range:
Code:
For I = 35 To 10 Step -1
    If IsDate(Range("E" & I)) Then
      If Range("E" & I) <= Range("B8") Then 
            If Left(Range("B" & I, 2) = "OT" Then Rows(I).Delete
      End If
    End if
Next I

++
Hieu.

ps : oublié de "OT"
 
Dernière modification par un modérateur:
Re : Formule STXT en VBA

Bonjour à tous,
j'ai modifié le code de cette façon est ça marché

Code:
  For I = 35 To 10 Step -1
    If IsDate(Cells(I, "E").Value) Then
      If Cells(I, "E") <= Range("B8") Or Left(Cells(I, "B"), 2) = "OT" Then Rows(I).Delete
    End If
  Next I

Merci beaucoup chalet, Hieu pour vos réponses
 
Re : Formule STXT en VBA

Par contre, par rapport à ce que tu mettais initialement, j'mettrai plutôt "And" que "Or".
Quant à la fonction stxt, en vba, c'est mid (pour information)

++
 
Re : Formule STXT en VBA

re,
tu as raison hieu parce que je me suis mal exprimé..vue que je suis débutant en VBA
en tout cas merci beaucoup pour ta réponse
 
- 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
832
Réponses
4
Affichages
260
Réponses
2
Affichages
228
Réponses
2
Affichages
494
Réponses
8
Affichages
355
Réponses
8
Affichages
744
Réponses
10
Affichages
630
Réponses
4
Affichages
688
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…