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 :

Deplacement vers 1ere colonne pour y marquer une croix [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Par défaut Deplacement vers 1ere colonne pour y marquer une croix
    Je cherche dans la colonne K toute cellule qui commence par un espace ( il y a donc mauvaise saisie ) et je colorie en rouge cette cellule
    mais je n'arrive pas à me deplacer dans la colonne A ( titre = Anomalie ) pour mettre une croix "X" dans la meme ligne
    ( plus commode pour filtrer )
    Ci-dessous mon code :
    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
    Dim Cell As Range
    Dim ColumnA As Byte
    Dim NB_DEPLOYED As Integer 
    Sheets("Deployed").Select
    Range("A1").Select
    NB_DEPLOYED = Range("B1").End(xlDown).Row
    '
    For Each Cell In Range("K2:K" & NB_DEPLOYED & "")
         If Cell.Value Like " *" Then
            Cell.Interior.ColorIndex = 3
            ColumnA = 10
            ActiveCell.Offset(0, -ColumnA).Activate
            ActiveCell.Offset(0, -ColumnA) = "X"
         End If
     Next
    j'obtiens le message d'erreur
    erreur d'execution '1004'
    erreur efinie par l'application ou par l'objet
    et le deboggeur me souligne en jaune la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Offset(0, -ColumnA).Activate
    Pouvez-vous ,s'il vous plait m'aider ?

    Merci

    PS:je suis sous Office 2010/Win7

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Pour supprimer les espaces en début et fin de cellule, il y a la fonction "Trim" sinon, regarde si ceci te convient :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Sub Test()
     
        Dim Plage As Range
        Dim Cel As Range
     
     
        'défini la plage en colonne K par rapport à la colonne B
        With Worksheets("Deployed")
     
            Set Plage = .Range(.Cells(1, 11), .Cells(.Cells(.Rows.Count, 2).End(xlUp), 11))
     
        End With
     
        For Each Cel In Plage
     
            'Cel.Value = Trim(Cel.Value) '<---ceci permet de supprimer les espaces en début et fin de cellules
     
            If Cel.Value Like " *" Then
     
                Cel.Interior.ColorIndex = 3
                Cel.Offset(, -Cel.Column + 1).Value = "X"
     
            End If
     
         Next Cel
     
    End Sub
    Hervé.

  3. #3
    Membre très actif Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Par défaut
    Il est possible de le faire sans recourir au VBA, Une formule qui renvoie une croix dans la colonne A selon condition, et appliquer le format conditionnel (Couleur Rouge) aux cellules de la colonne K selon condition également.

    Je vous l'illustre dans le fichier joint.

    Cordialement.
    Karim
    Fichiers attachés Fichiers attachés
    Entre la canne à pèche et le poisson c'est certainement la canne que je choisirais, puis apprendrais à m'en servir.
    Si on vous souffle une solution au complet c'est que vous n'auriez rien compris du problème.
    Consultez la , de forte chances que votre problème y figure et c'est plus vite que de poser une question et en attendre la réponse.
    FAQ Excel: http://excel.developpez.com/faq/

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 177
    Par défaut
    Bonsoir

    tu peux aussi essayer ceci (exemple avec les valeurs à tester en colonne B)

    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
    Sub test()
    Dim i As Long
    Sheets("Deployed").Select
    Range("A1").Select
     
    i = 1
    While Range("B" & i).Value <> ""
         If Range("B" & i).Value Like " *" Then
            Range("B" & i).Interior.ColorIndex = 3
            Range("A" & i).Value = "X"
         End If
         i = i + 1
     Wend
     
     End Sub
    Cordialement
    lps02

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 128
    Par défaut
    Finalement je code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     For Each Cell In Range("K2:K" & NB_DEPLOYED & "")
         If Cell.Value Like " *" Then
            Cell.Interior.ColorIndex = 3
            Cell.Offset(, -10).Value = "X"
         End If
     Next
    Merci à tous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Colonne pour calcul dans une gridview
    Par badi3a82 dans le forum ASP.NET
    Réponses: 21
    Dernier message: 08/10/2010, 11h51
  2. Icon pour pour JButton dans une Jtable + pb colonnes
    Par dim_italia dans le forum Composants
    Réponses: 3
    Dernier message: 22/02/2006, 19h05
  3. Réponses: 8
    Dernier message: 06/12/2005, 12h33
  4. Joindre 2 colonnes pour en afficher une seule
    Par major2 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/04/2005, 16h17
  5. [C#] Comment faire pour rendre invible une colonne(ListView)
    Par Jfrancois57 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 05/05/2004, 14h27

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