IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E] Probleme comparaison cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut [VBA-E] Probleme comparaison cellules
    Bonjour a tous,

    je cherche a effectuer un traitement qui peut paraitre simple mais je ne manie pas asez bien le VBA pour le realiser seul.
    Voici ma problematique:
    Je dois affecter une valeur dans une colonne (cad pour chaque cellule de la colonne) en fonction d'un test effectué dans une autre colonne
    ex si l'une des valeurs de ma cellule est paris alors le resultat dans ma seconde colonne (dans la cellule correspondante) sera 4 et ainsi de suite pour toutes les cellules non vide de ma premiere colonne.
    J'ai deja essayé avec les fonctions tel si dans excel mais mon probleme est que j'ai enormement de criteres qui ne peuvent pas rentrer dans cette fonction.

    En code VBA j'ai esssaye ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each Cells.Value In Columns("I:I")
        If Cells.Value = "PARIS" Or Cells.Value = "VERSAILLES" ...... Then
        Columns(X:X).Range.Value = "4"
        End If
        Next
    End Sub
    Le but serait de faire un traitement automatique des deux collonnes a l'aide d'un bouton mais j'avoue pecher dans le code est les procedures a utiliser ....

    Merci a tous d'avance.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je pense que tu as d'autres valeurs que Paris ou Versailles.
    Déjà, tu peux corriger ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Sub Ranger()
    Dim cel As Range
        For Each cel In Range("I:I")
            If cel <> "" Then
                Select Case cel
                      Case "PARIS", "VERSAILLES"
                            cel.Offset(0, -7).Value = "4"
                      Case "LYON", "SAINT ETIENNE"
                            cel.Offset(0, -7).Value = "2"
                      Case "TOULOUSE"
                            '... etc
                      Case Else
                            MsgBox "Cette ville n'existe pas sur terre"
                End Select
            End If
        Next
    End Sub
    Tu dis

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut
    Merci a toi

    La boucle a bien l'air de faire le test mais elle ne me renvoie pas de resultat dans les cellules correspondantes de ma deuxieme colonne (c'est la colonne AD)
    de plus je ne comprend pas a quoi sert le offset avec les coordonées que tu m'a donné ..
    Merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour moi et tel que tu as rédigé ton message, la seconde colonne était la colonne B. Sinon montre-moi où tu as écrit "AD"
    Tu corriges l'offset pour que ça colle avec ta colonne.
    Et pour savoir comment fonctionne Offset, quoi de mieux que
    A+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 6
    Par défaut
    Ca marche merci a toi !!!

    J'ai donc regardé la syntaxe du offset et je lui ai donné la valeur 21 pour la colonne ce qui permet donc de copier mes valeurs dans la colonne AD.
    Mon dernier petit soucis concerne la premiere cellule de ma colonne AD a savoir que j'applique un filtre et que le code me rempli cette cellule
    Ya t'il un moyen que le code n'agisse qu'a partir de la deuxieme cellule cad que mon traitement se fasse pour toutes les cellules sauf pour la premiere ?

    Merci d'avance.

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Mets ton code pour le filtre, ça nous éviteras d'avoir à le faire pour le corriger

Discussions similaires

  1. {VBA Excel}probleme format cellule
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/08/2007, 11h12
  2. [VBA-E] problème avec le sendkeys
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2005, 14h25
  3. [VBA-E] Fusion de cellule
    Par Nicos77 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/07/2004, 13h24
  4. [VBA] Les propriétés de cellule dans Excel
    Par Kylen dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 05/07/2004, 23h02
  5. Probleme comparaison heure et minutes
    Par innosang dans le forum Bases de données
    Réponses: 5
    Dernier message: 13/05/2004, 08h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo