Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » votre aide SVP pour création marco. · Envoyer le lien

Par harzer, le 30 Oct 2007, 13:32 Revenir en haut de page Répondre en citant

Bonjour à tous,
Je souhaiterais créer une macro qui pourrait sélectionner une colonne (dans mon cas c'est la colonne T), elle va parcourir cette colonne pour vérifier s’il n’y a pas de cellule qui contient la valeur "0" (zéro), dans ce cas, elle remplacera le zéro par le mot "PC"
Un exemple pour vous expliquer mon problème vaut mieux qu'un long discours.
Ma colonne T contient les valeurs suivantes:

96
92
92
90
88
81
81
52
50
0
0

Pour que la macro fonctionne correctement, elle doit remplacer les deux cellules se trouvant à la fin de ma colonne T, dans ce cas mon résultat sera :

96
92
92
90
88
81
81
52
50
PC
PC
D’avance merci pour votre aide.
Par harzer, le 30 Oct 2007, 17:26 Revenir en haut de page Répondre en citant

Bonjour,
Comme je n'ai pas eu de réponse et que j'ai trouvé une solution approximative, je la mets à votre disposition ou cas ou cela intéresserais quelqu’un d'autre:
Voici ma solution :

Code:
    Dim Ligne As Integer  ' déclaration de la variable ligne
    Ligne = Range("T1").SpecialCells(xlCellTypeLastCell).Row

      For Ligne = 1 To Ligne 'Fait defiler les lignes jusqu'a la dernière ligne
        If Cells(Ligne, 16).Value = "0" Then   'la colonne T se trouve à la 16e place
          ''Ici on test si la cellule de la colonne T est égale à "0" (zéro)
            Cells(Ligne, 16).Value = "PC"
           
           'Dans ce cas, on remplace la valeur trouvée "0" (zéro) par "PC" dans
           'toutes les cellules de la colonne T.
      End If
    Next Ligne

Je reste à votre disposition si vous avez une solution meilleure et rapide.
Amicalement.
Par Horny, le 07 Nov 2007, 20:34 Revenir en haut de page Répondre en citant

Salut,

Désolé du manque de réponse, le forum est plutôt vide ces temps-ci, et je viens moins souvent...

En tout cas, merci d'avoir posté ta soluce Smile

@+++
Par Cédric, le 08 Nov 2007, 19:39 Revenir en haut de page Répondre en citant

Salut et bienvenue sur les forums

Y'a pas, va vraiment falloir que je passe ici plus souvent... Rolling Eyes pas normal de ne pas avoir de réponse rapide Evil or Very Mad
Mais comme dit Horny, merci! C'est sympa d'avoir posté ta solution! Elle est déjà rapide et la boucle est très utile, surtout lorsqu'il y a beaucoup de conditions.

Maintenant dans ton cas, il existe une autre solution qui se vaut aussi, et qui semble plus adaptée dans ton cas:

Code:
    Columns("T").Replace What:="0", Replacement:="PC", LookAt:=xlWhole


Plus adaptée... car tu ne cherches à remplacer que les "0" par "PC". Sachant également qu'il existe d'autres options utiles à cette fonction (comme par ex, la possibilité de tenir compte de la casse) c'est une fonction simple qu'il ne faut pas oublier.

@ bientôt,
Cédric

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » votre aide SVP pour création marco. · Envoyer le lien