Test fonction si

[Résolu/Fermé]
Signaler
Messages postés
10
Date d'inscription
lundi 2 octobre 2017
Statut
Membre
Dernière intervention
3 avril 2019
-
 Lescollgien24 -
Bonjour à tous
Je ne suis pas un expert en VBA d’où je viens solliciter votre aide.
Je souhaite faire une macro qui à partir d’une colonne donnée exemple C remplace ou affiche sur la même colonne le message A, B, C ou D.
C-a-d
De ma colonne C, j’ai plusieurs cellules et dans chaque cellule, j’ai des nombres allant de 0 a plus 60000.
Si dans une cellule, j’ai un nombre compris entre 0 et 9 alors il indique dans cette cellule le message texte « D »
Si dans une cellule, j’ai un nombre compris entre 10 et 249 alors il indique dans cette cellule le message texte « E »
Si dans une cellule, j’ai un nombre compris entre 250 et 4999 alors il indique dans cette cellule le message texte « F »
Si dans une cellule, j’ai un nombre compris entre 5000 et plus alors il indique dans cette cellule le message texte « G »
Si la cellule est vide, laisser la cellule vide.
S’il faut rajouter une colonne pour afficher le message texte ce n’est pas bien grave, je masquerai la colonne d’origine après.
Cette macro me permet de savoir les cellules en A, B, C ou D, car ma colonne contient plusieurs cellules.
Je ne souhaite pas une formule parce que c’est une opération répétitive que je mettrai en bouton d’exécution.
Je vous remercie d’avance pour votre aide.

2 réponses

Messages postés
7568
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 octobre 2021
663
Bonjour,

Voici la macro:


Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
    Set FL1 = Worksheets("Feuil1")
    NoCol = 3 'lecture de la colonne C
    For NoLig = 1 To Range("C" & Rows.Count).End(xlUp).Row
     Var = FL1.Cells(NoLig, NoCol)
    Select Case Var
                Case Is = ""
               FL1.Cells(NoLig, NoCol + 1) = ""
                Case Is < 10
              FL1.Cells(NoLig, NoCol + 1) = "D" 'colonne à droite supprimer + 1 si même colonne
              Case Is < 250
                  FL1.Cells(NoLig, NoCol + 1) = "E"
               Case Is < 5000
                FL1.Cells(NoLig, NoCol + 1) = "F"
                 Case Is > 5000
                 FL1.Cells(NoLig, NoCol + 1) = "G"
                  End Select
            Next
    Set FL1 = Nothing
End Sub


Tu ouvres l'autre classeur et tu lances ta macro.
Sinon tu suis les conseils de Jordane et tu l'enregistres en macro complémentaire. En cherchant sur le net tu trouveras la marche à suivre.

Voilà
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41713 internautes nous ont dit merci ce mois-ci

Messages postés
10
Date d'inscription
lundi 2 octobre 2017
Statut
Membre
Dernière intervention
3 avril 2019

Je te remercie pour ta solution elle fonctionne.
c'est exactement ça
je suivrai le conseil de Jordane

Merci Merci

Bonjour cette solution marche a tous les cou Mr bcp
Messages postés
17113
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2021
908
bonsoir, je pense que c'est facile avec une formule, qu'il sera facile de mettre dans toutes les lignes où c'est nécessaire.
je ne comprends donc pas ton "parce que".
Messages postés
10
Date d'inscription
lundi 2 octobre 2017
Statut
Membre
Dernière intervention
3 avril 2019

je souhaite automatiser cette tâche, la raison est que j'ai plusieurs fichiers excel a traité et s'il faut mettre une formule je serai obligé de recopier cette formule à chaque fois. Ou bien il y'a une autre méthode qui permet de personnalisé la formule son excel?
Messages postés
17113
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2021
908 >
Messages postés
10
Date d'inscription
lundi 2 octobre 2017
Statut
Membre
Dernière intervention
3 avril 2019

tu imaginais d'avoir une macro indépendante des fichiers excel? où pensais-tu l'enregistrer?
Messages postés
33695
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 octobre 2021
3 765 >
Messages postés
17113
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2021

Hello
Il pourrait la stocker dans une macro complémentaire (via un fichier xlam) et donc y avoir accès depuis n'importe quel autre classeur.
Ensuite, soit il fait une macro qui réalise ce qu'il veut... soit il fait une macro qui "colle" la formule automatiquement dans les cellules.