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 :

demander à VBA Excel de trouver la même ligne dans un autre classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut demander à VBA Excel de trouver la même ligne dans un autre classeur
    Voila, en fait j'ai 3 onglets:
    A qui contient tout, B ou excel doit retrouver la ligne de A, et C, ou Excel doit marquer la différence entre les 2 lignes de chaque colonne...

    Par exemple: sur A j'ai une ligne B10 et dans une des cellule (on ne parle que pour une colonne la, mais je dois le faire pour toutes les colonnes de la ligne) de cette ligne j'ai 10, dans la même colonne dans le fichier B et dans la ligne B10 j'ai 11, Excel doit marquer dans C : B10 = 1 (11-10)

    Il est possible qu'il ne retrouve pas la ligne dans B. Dans ce cas, il doit l'écrire dans C en mettant 0 partout. Si elle est dans B mais pas dans A, il doit l'inscrire dans C en mettant les chiffres de C (copier coller).


    Qui peut m'aider ? j'ai presque pas d'idées...

  2. #2
    Membre du Club Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Points : 46
    Points
    46
    Par défaut Peux tu clarifier
    Pourrais tu détailler un peut plus svp ?
    Merci

  3. #3
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    c'est déja hyper détaillé je trouve, que voudrais tu savoir en + ?

  4. #4
    Membre du Club Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Points : 46
    Points
    46
    Par défaut est ce que ça t'aide?
    Je pense que tu peux utiliser find pour chercher ces valeurs

    d'abord dans A

    puis ensuite une fois que find te renvoi le Range de la bonne cellule alors,
    avec les propriétés Row et Column

    tu va chercher la meme cellule mais dans B

    puis ensuite tu les compares.

    Est ce que ça t'aide ?

  5. #5
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    c'est pas bete...mais c'est le ensuite tu les compare...
    je débute si tu veux, je commence à me débrouiller mais bon...

  6. #6
    Membre du Club Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Points : 46
    Points
    46
    Par défaut Bon en fait si j'ai besoin de plus de détails
    En fait je ne sais pas si tu fait ton action a partir d'un bouton, doit tu faire écrire le résultat de C de toutes les lignes correspondantes de A et B car si c'est oui.
    Tu n'a pas besoin de VBA pour faire ça excel sait très bien le faire.

    Mais si tu veux le faire a la demande avec une textbox par exemple alors c'est différent tu peux utiliser VBA.

    Deux petits exemple :
    Sans VBA :

    il te suffit d'entrer cette formule dans la cellule de C puis de l'etendre dans les autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(ESTVIDE(B!A1);0;A!A1-B!A1)

    si c'est avec vba alors dis moi en plus sur la façon dont tu veux effectuer ce calcul et la rechercher.

    Mais je te donnes un exemple quand meme :


    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
     
    'ça c'est pout faire ta recherche a partir d'une combobox1 en tapant la valeur recherchée dedans
    On Error Resume Next
    With Sheets("A").Columns(1)
     .Find(What:=TextBox1.Text, LookIn:=xlValues, SearchDirection:=xlNext, _
     SearchOrder:=xlByRows, MatchCase:=False).Select
     End With
    On Error GoTo 0
    'ça sa te donne le nbre de la ligne et de la colonne recherchée
    L = ActiveCell.Row
    c = ActiveCell.Column
     
    Sheets("C").Select
    'calcul en prenant en compte le fait que si la cellule concernée en B est vide alors en C = 0
    If Sheets("B").Cells(L, c).Value = "" Then
    Sheets("C").Cells(L, c).Value = 0
    Else
    Cells(L, c).Value = Sheets("A").Cells(L, c).Value - Sheets("B").Cells(L, c).Value
    End If

    Voila

    j'espère que sa t'aide plus

    a+

  7. #7
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    ben c'est à dire que chaque ligne A doit chercher si elle se retrouve dans B, et si faire la soustraction des chiffres dans C...

  8. #8
    Membre du Club Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Points : 46
    Points
    46
    Par défaut Plusieurs question ?
    Tout d'abord :

    Est-ce la ligne entière qui doit se retrouver dans B ou simplement la première valeur d'une colonne?

    Est-ce que la ligne qui doit se retrouver dans B et sur la meme ligne que celle de A ou pas forcément ?

    Quand veux tu que l'action se produise lorsque tu entre une nouvelle valeur dans la ligne A ou autrement ?

    Tes onglet a b et c correspondent a des feuilles ou des classeurs car si je relie le titre du message c'est que tu cherche a faire avec trois classeurs différents ou trois feuilles????

    Je comprend pas grand chose en fait a ce que tu veux faire désolé

    a+

  9. #9
    Membre du Club Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Points : 50
    Points
    50
    Par défaut
    3 feuilles...

    En fait je veux que toutes les lignes du 1er onglets se cherchent dans le 2eme. Etant donné qua dans ma ligne j'ai des chiffres, je voudrais que chaque ligne qui se retrouvent dans B, effectue par colonne, la soustraction qui va bien. ex: si ma ligne BB se retrouve dans B, alors effectuer les soustractions dans C colonne par colonne, de C - B

  10. #10
    Membre du Club Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Points : 46
    Points
    46
    Par défaut Désolé
    Je suis désolé mais je ne comprend pas clairement ce que tu veux faire

  11. #11
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par melodyyy
    3 feuilles...

    En fait je veux que toutes les lignes du 1er onglets se cherchent dans le 2eme. Etant donné qua dans ma ligne j'ai des chiffres, je voudrais que chaque ligne qui se retrouvent dans B, effectue par colonne, la soustraction qui va bien. ex: si ma ligne BB se retrouve dans B, alors effectuer les soustractions dans C colonne par colonne, de C - B
    c'est vraiment pas clair...! c'est quoi une ligne BB ?? explique toi un peu mieux sur ce qui fait dire que 2 lignes sont identiques .. (si c'est le cas la soustraction vas toujours données 0 ..!) ... tes ligne "identiques" ont'elle le même numéro de ligne dans la feuille excel...?

    tu n'as pas un dessin ..?

Discussions similaires

  1. [XL-2000] VBA-Copier la valeur d'une liste dans un autre classeur
    Par Noe06 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/04/2012, 12h01
  2. [Excel] Charger une form créée dynamiquement dans un autre classeur
    Par spileo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/02/2007, 11h58
  3. [VBA-EXCEL] - Fonction NB.SI en liaison avec un autre classeur
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/01/2007, 16h43
  4. [VBA-E] connaitre le nombre de ligne dans un tableau excel
    Par bigbarbe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/04/2006, 10h03
  5. [VBA-E]comment trouver la dernière ligne contenan
    Par couscoussier dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/03/2006, 16h53

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