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 :

comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur VBA ex


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut comparer la valeur d'une cellule d'un classeur à une plage d'un autre classeur VBA ex
    Bonjour à tous
    J'ai deux classeurs ayant pour nom respectivement "inman" et "test".
    Jai besoin de comparer la valeur de la cellule A1 du classeur "inmac" à la plage ("A2:AF2") du classeur "test" de la feuille "synthese" en VBA;
    si la valeur de A1 correspond à une valeur de la plage ("A2:AF2") alors qu'il copie la plage ("A2:A19") du fichier "inmac" et qu'il colle dans "test" en bas de la cellule corresponde à la valeur de A1 du fichier "inmac" .
    Merci d'avance à tous et je conte sur votre réactivité.
    Cdlt!!!!!!!!!!!!

    voici ce que j'ai essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim i As Integer
    For i = 1 To i = 30
    If Workbooks("inmac").Worksheets("feuil1").Range("A1") = Workbooks("test").Worksheets("Synthese").Range("A2:AF2") Then
    Range("A2:A19").Select
    Selection.Copy
    Workbooks("test").Activate
    Cells(i, 4).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Next i
    End If
     
    End Sub

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Bonjour,

    conformément aux règles du forum, merci de poster le code entrepris (et balisé via l'icône dédiée #) …

    Sinon commencer par le tutoriel Excel et l'enregistreur de macro.


    _____________________________________________________________________________________________________
    Je suis Charlie, Bardo, Sousse

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 3
    Par défaut re: code
    voici ce que j'ai essayer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim i As Integer
    For i = 1 To i = 30
    If Workbooks("inmac").Worksheets("feuil1").Range("A1") = Workbooks("test").Worksheets("Synthese").Range("A2:AF2") Then
    Range("A2:A19").Select
    Selection.Copy
    Workbooks("test").Activate
    Cells(i, 4).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Next i
    End If
     
    End Sub

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Citation Envoyé par hassane991 Voir le message
    […] et qu'il colle dans "test" en bas de la cellule corresponde à la valeur de A1 du fichier "inmac" .
    Incompréhensible ! Reformuler clairement la destination de la copie …

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    un exemple d'utilisation de Find

    regarde l'aide afin de paramétrer correctement les arguments en fonction de tes souhaits

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
    Dim ShSource As Worksheet
    Dim ShDest As Worksheet
    Dim Resultat As Range
     
    Set ShSource = Workbooks("inmac").Worksheets("feuil1")
    Set ShDest = Workbooks("test").Worksheets("Synthese")
     
    Set Resultat = ShDest.Range("A2:AF2").Find(ShSource.Range("A1").Value, , xlWhole, xlValues)
    If Not Resultat Is Nothing Then ShSource.Range("A2:A19").Copy Resultat.Offset(1, 0)
     
    End Sub

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2015, 18h01
  2. Réponses: 3
    Dernier message: 10/10/2013, 11h11
  3. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  4. Réponses: 2
    Dernier message: 05/03/2010, 14h15
  5. Réponses: 3
    Dernier message: 03/11/2008, 16h07

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