Test fonction si

Résolu/Fermé
Decapo78 Messages postés 10 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 3 avril 2019 - 28 févr. 2018 à 16:37
 Lescollgien24 - 3 mars 2018 à 09:46
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.

A voir également:

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
1 mars 2018 à 09:38
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
Decapo78 Messages postés 10 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 3 avril 2019
1 mars 2018 à 19:10
Je te remercie pour ta solution elle fonctionne.
c'est exactement ça
je suivrai le conseil de Jordane

Merci Merci
0
Lescollgien24
3 mars 2018 à 09:46
Bonjour cette solution marche a tous les cou Mr bcp
0
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 Ambassadeur 1 568
28 févr. 2018 à 19:21
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".
0
Decapo78 Messages postés 10 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 3 avril 2019
28 févr. 2018 à 21:22
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?
0
yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025 1 568 > Decapo78 Messages postés 10 Date d'inscription lundi 2 octobre 2017 Statut Membre Dernière intervention 3 avril 2019
28 févr. 2018 à 21:43
tu imaginais d'avoir une macro indépendante des fichiers excel? où pensais-tu l'enregistrer?
0
jordane45 Messages postés 38430 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 20 février 2025 4 735 > yg_be Messages postés 23476 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 février 2025
28 févr. 2018 à 22:03
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.
0