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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    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 confirmé Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Par défaut Peux tu clarifier
    Pourrais tu détailler un peut plus svp ?
    Merci

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

  4. #4
    Membre confirmé Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    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 éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    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 confirmé Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    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 confirmé Avatar de Larsen21
    Inscrit en
    Décembre 2006
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 44
    Par défaut Désolé
    Je suis désolé mais je ne comprend pas clairement ce que tu veux faire

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