Valeurs correspondantes

adinnn

XLDnaute Occasionnel
Bonjour à tous,

je cherche maintenant à copier les valeurs du Tableau de "feuil1" vers "Database" seulement si la colonne C contient un "x".
J'ai commencé avec la fonction find() mais j'ai de la difficulté à faire la correspondance de la colonne "A" de feuil1 vers la ligne 2 de "database".

Bref, s'il y a un x dans la colonne "c", on copie les "x" dans le tableau de la feuille "database" mais au bon endroit.

Aussi, s'il y a une correspondance de la cellule C3 de feuil1 dans le tableau, il doit y avoir moyen de lire la valeur sur feuille "database" et d'y ajouter les x manquant?

Merci de votre précieuse aide!

**voir fichier joint pour mieux comprendre mon besoin.
 

Pièces jointes

  • fichier test.xlsm
    30.2 KB · Affichages: 33
  • fichier test.xlsm
    30.2 KB · Affichages: 47

adinnn

XLDnaute Occasionnel
Re : Valeurs correspondantes

Bonjour BigDaddy,

premièrement merci pour la piste de solution. Par contre je cherche à copier les valeurs de Feuil1 vers la feuille Database. C'est pourquoi j'avais ajouté un bouton de contrôle.

Si la valeur "serial # " en C3 n'existe pas en feuille DataBase j'ajoute une ligne et si elle existe j'ajoute les nouvelles valeurs "RTF" dans les cellules correspondantes.

ça semble suffisamment clair?

Merci de ton aide!
 

adinnn

XLDnaute Occasionnel
Re : Valeurs correspondantes

WOW merci! Vraiment impressionnant.

Je ne comprend pas trop, j'ai intégré à mon projet et j'ai un erreur de Variable non définie à la ligne?

Set trouve_colonne = colonne.Find(what:=RTF, LookIn:=xlValues)
.Cells(trouve_ligne.Row, trouve_colonne.Column) = Done
 

adinnn

XLDnaute Occasionnel
Re : Valeurs correspondantes

Re,

un autre essai voir si j'ai bien compris.

Cordialement.

Bonjour BigDaddy,

J'ai modifié quelques peu votre code pour qu'il puisse fonctionner avec un fichier .xls externe appellé DB dans mon cas et ça semble bien fonctionner. J'aimerais par contre maintenant aussi lire les données avec un "x" et les afficher dans ma feuil1 tableau1 en "D" par exemple. Est-ce possible? Je n'arrive pas....

Code:
Dim L As Integer
Dim xls_fichier As Excel.Workbook

Set xls_fichier = GetObject("C:\path\DB.xlsm")

Sheets("CurrentRetrofit").Select

xls_fichier.Windows(1).Visible = True
xls_fichier.Sheets("DataBase").Select

serial = Range("D3")
With xls_fichier.Sheets("DataBase")
    derligne = .Range("B" & Rows.Count).End(xlUp).Row
    test = Application.WorksheetFunction.CountIf(.Range("B:B"), Range("d3"))
    If test = 0 Then
        .Range("B" & derligne + 1) = serial
        derligne2 = Range("A" & Rows.Count).End(xlUp).Row
        dercolonne = .Cells(2, Columns.Count).End(xlToLeft).Column
        For i = 7 To derligne2 - 1
            RTF = Range("A" & i)
            current = Range("E" & i)
            Set colonne = .Range(.Cells(2, 3), .Cells(2, dercolonne))
            Set trouve_colonne = colonne.Find(what:=RTF, LookIn:=xlValues)
            .Cells(derligne + 1, trouve_colonne.Column) = current
        Next i
    Else
        derligne2 = Range("A" & Rows.Count).End(xlUp).Row
        dercolonne = .Cells(2, Columns.Count).End(xlToLeft).Column
        Set ligne = .Range(.Cells(3, 2), .Cells(derligne, 2))
        Set trouve_ligne = ligne.Find(what:=serial, LookIn:=xlValues)
        For i = 7 To derligne2 - 1
            RTF = Range("A" & i)
            current = Range("E" & i)
            Set colonne = .Range(.Cells(2, 3), .Cells(2, dercolonne))
            Set trouve_colonne = colonne.Find(what:=RTF, LookIn:=xlValues)
            .Cells(trouve_ligne.Row, trouve_colonne.Column) = current
        Next i
    End If
End With

xls_fichier.Save
xls_fichier.Close
Set xls_fichier = Nothing
[\CODE]
 

BigDaddy154

XLDnaute Junior
Re : Valeurs correspondantes

Bonjour,

si j'ai bien compris ce que tu souhaites c'est lire tes "x" dans ta base de données et les afficher dans la colonne D de ton tableau de ta feuil1.

Si c'est bien ça pas besoin de code une formule te fais le taff je te joins le dernier fichier que j'avais modifié.

Cordialement.
 

Pièces jointes

  • fichier test (2).xlsm
    28.5 KB · Affichages: 36
  • fichier test (2).xlsm
    28.5 KB · Affichages: 26

adinnn

XLDnaute Occasionnel
Re : Valeurs correspondantes

Bonjour BigDaddy,

premièrement merci pour la réponse rapide. Le problème est que la feuille "DataBase" se retrouve maintenant dans le fichier DB.xlsm. C'est pourquoi j'ai modifié quelques peu votre formule dans le boutons pour y arriver. Je veux éviter d'insérer une formule dans les cellules car je devrais lier les 2 fichiers .xlsm et ainsi éviter des problèmes d'écriture car le fichier sera sur le réseau et partagé...

Le plus simple selon moi serait d'y aller avec une lecture instantanné par un bouton "read" par exemple.

Voilà

Des idées?
 

BigDaddy154

XLDnaute Junior
Re : Valeurs correspondantes

Re,

je comprend bien malheureusement mais sans la structure des deux fichiers difficiles de te sortir qqchose.

As tu la possibilité de fournir qqchose avec des données anonymes pour voir si c'est faisable ?

Cordialement.
 
Dernière édition:

adinnn

XLDnaute Occasionnel
Re : Valeurs correspondantes

Voila en pièce jointe les fichiers exemple et une description de ce que je veux faire

Merci
 

Pièces jointes

  • DB.xlsm
    33.1 KB · Affichages: 29
  • Exemple.xlsm
    56.7 KB · Affichages: 33
  • DB.xlsm
    33.1 KB · Affichages: 39
  • Exemple.xlsm
    56.7 KB · Affichages: 39

Discussions similaires

Statistiques des forums

Discussions
312 298
Messages
2 086 978
Membres
103 417
dernier inscrit
abaabdelghani