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 :

copier dans la cellule en face [Toutes versions]


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
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Par défaut copier dans la cellule en face
    Bonjour,

    Je cherche, en utilisant vb, à coller la valeur d'une cellule A1 dans la cellule B1 (donc juste en face) si et seulement si elle répond à une condition. Ma plage en colonne A étant variable (de 1 à 200 voir plus) je préfère utiliser une boucle. celà m'évitant de répéter le code pour chaque cellule.

    Voici ce que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Copier()
     
        Dim Plage As Range, Cellule As Range
     
        Set Plage = Range("b4:B8")
     
        For Each Cellule In Plage
            If (Cellule.Value = "olive") Then
                Cellule.Offset(0, 1).Value = Cellule.Value
            End If
        Next Cellule
    End Sub
    Seulement celà ne fonctionne pas. Je pense que le problème vient de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cellule.Offset(0, 1).Value = Cellule.Value
    Pouvez vous m'aiguiller ?

    Merci d'avance.

    mooh

  2. #2
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour mooh91 le forum

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
    Dim c As Range
    For Each c In Range("a1", Range("a65536").End(xlUp))
    If c = "olive" Then c.Offset(0, 1) = c
    Next
    End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Par défaut
    Laetitia,

    Merci pour ton aide. D'ailleurs bizarrement le code que j'ai indiqué plus fonctionne aussi finalement.

    Bonne soirée,

    Mooh

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonsoir,

    effectivement, ton code fonctionne maintenant que tu as déroulé le code de Laeticia....

    redéfinis ta plage...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Plage = Range("b4:B8")
    tu testais sur la colonne B.....

  5. #5
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    RE pas si si sur que ca ??ton code tu boucle sur colonne b condition "olive" tu ecris sur colonne c . tu testes pas la colonne A non???

    Je cherche, en utilisant vb, à coller la valeur d'une cellule A1 dans la cellule B1

    EDIT bonsoir mapeh pas rafraichi

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 97
    Par défaut
    Désolé, je me suis mal exprimé en fait. Je suis parti dans un exemple au début pour faire simple et j'ai fini par reprendre mon vrai code.

    Le principe global est que si j'ai une cellule en Bn et qu'elle répond à une condition alors je la colle en Cn.

    B2 --> condition ok ? --> C2
    B3 --> condition ok ? --> C3

    etc.

    Le premier code fonctionne bien finalment.

    Merci à vous deux.

    mooh

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/04/2013, 11h46
  2. Insérer une image dans un cellule par copier coller
    Par jalseth dans le forum VBA Word
    Réponses: 2
    Dernier message: 13/08/2008, 18h19
  3. copier dans toutes les cellules jaunes ?
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/11/2007, 23h36
  4. Copier une image jpg dans une cellule dun DrawGrid
    Par ero-sennin dans le forum Delphi
    Réponses: 13
    Dernier message: 10/07/2007, 15h57
  5. VBA-Excel copier la valeur d'une textbox dans une cellule
    Par GrandGarfield dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/08/2006, 10h15

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