Résultat de recherche décallé par rapport au code recherché

Bonjour à tous...

je suis actuellement en formation de métreur et dans ce cadre on utilise excel pour faire nos métrés et nos devis.

je voudrais automatiser un peu des recherche de données...

Je m'explique

Si vous regarder dans le tableau joint, j'ai un code de référence 1.1.210, c'est ce code qui sert de référence dans mon devis. Je voudrais que dans mon tableau de devis, ou j'ai tapé mon code en premiere colonne, il puisse me recherche la valeur indiqué (la quantité) dans la feuille ci joint (valeur en rouge quelque ligne plus bas du code de référence) et me l'afficher dans la colonne quantité de mon devis qui se trouve sur une autre feuille.

j'espère avoir été assez clair...

et merci d'avance pour toute les réponse apporté

41exemple-metre.xlsm (23.55 Ko)

petit up pour mieux comprendre le problème

Je joins le fichier complet pour que ça soit plus clair...

Dans la feuille DQE il faudrait qu'en cellule F36 s'affiche la quantité associé au code en A36. Cette valeur à rechercher se trouve en rouge dans la feuille minute dans la cellule M32.

J'espère que cela vous aidera pour m'apporter des réponses

44exemple-metre.xlsm (75.85 Ko)

Personne pour m'aider?

Salut,

teste la pièce jointe et vois si elle te convient

Merci beaucoup pour ta réponse.

Ta macro fonctionne du tonnerre...

Il me reste plus qu'a la modifier pour qu'elle marche sur l'ensemble des lignes de la feuille DQE.

ça me fera un bon exercice pour comprendre le language VBA qui m'a l'air de ne pas avoir beaucoup de limite (ça ne fait que deux semaines que je m'y suis mis donc j'ai tout à apprendre)

Si ta une solution rapide je suis quand meme preneur mais en tout cas merci pour tout, ça me facilitera la vie et celle de ma prof par la meme occasion

Bonne soirée si elle n'est pas déjà fini

Normalement, ça marche pour toutes les cellules légèrement grisées mais fais quelques tests quand même

c'est parfait !

Par contre j'ai été un peu optimiste avec mes capacités à modifier la macro.

Maintenant que j'ai le principal, je vais prendre le temps de mettre le nez dans les formations vidéos sur le VBA. J'ai plein d'idées que je voudrais mettre en pratique mais j'essayerai quand j'aurais quelques bases en VBA (ça ressemble fortement aux programmes que je faisait sur ma calculatrice il y a une dixaine d'année donc peut etre pas trop de dépaysement,)

En tout cas merci pour tout et peut etre à une prochaine

Bonjour à tous.

Je reviens vers vous pour quelques modifications de macro...

On m'a posté il ya deux jours une macro qui correspondait parfaitement à mes besoins, mais après utilisation je me suis aperçu que si je changé une donnée dans ma feuille minute, la mise à jour des données renvoyé en feuille DQE ne se faisait pas. y aurait-il un moyen pour qu'un changement dans ma feuille minute se répercute automatiquement dans le DQE sans que j'ai à retaper le code en colonne A de la feuille DQE.

ci-dessous la macro utilisée et je vous joint le fichier complet.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim myCell As Range, derLig As Long, c As Long, myRange As Range, Lrow As Long

If Target.Count > 1 Then Exit Sub

Lrow = Range("A" & Rows.Count).End(xlUp).Row

Set myRange = Range("A10")

For a = 11 To Lrow

If Cells(a, 1).Interior.Color = 15921906 Then

Set myRange = Application.Union(Cells(a, 1), myRange)

End If

Next a

If Not Intersect(Target, myRange) Is Nothing And Not IsEmpty(Target) Then

If Target = "1,1,000" Then Target.Offset(, 5).ClearContents: Exit Sub

With Sheets("Minute")

derLig = .Range("A" & Rows.Count).End(xlUp).Row

Set myCell = .Columns(1).Find(Target, , xlValues, xlWhole)

If Not myCell Is Nothing Then

c = myCell.Row

Do Until (.Cells(c, "M").Font.Color = vbRed Or c = derLig) And .Cells(c, "M") > 0

c = c + 1

Loop

Target.Offset(, 5) = .Cells(c, "M")

Else

MsgBox "Couillon!!! le n° n'existe pas !"

Target.Offset(, 5).ClearContents

End If

End With

ElseIf Not Intersect(Target, myRange) Is Nothing And IsEmpty(Target) Then

Target.Offset(, 5).ClearContents

End If

End Sub

merci pour les futurs réponses

39exemple-metre.xlsm (94.37 Ko)
fabi1joret a écrit :

je me suis aperçu que si je changé une donnée dans ma feuille minute, la mise à jour des données renvoyé en feuille DQE ne se faisait pas.

Quelle données est ce que tu changes et qui affecte la macro ?

Si tu as modifié les formats de ta feuille minute, il est très probable que les références programmées soient devenues obsolètes.

en fait que je rentre par exemple le code 1.1.210 dans la feuille DQE, il n'y a pas de probleme. il m'affiche bien la quantité (2.893) dans la feuille DQE. par contre si après je change un chiffre dans les calculs de la colonne B de la feuille minute, ma quantité se modifie bien dans la feuille minute (les 2.893), mais le nouveau résultat ne se reporte pas dans la ligne correspondante de la feuille DQE. Pour qu'il se modifie il faut que je pense à retaper le code en colonne A de la feuille DQE.

Est-ce assez clair?

La macro qui calcule l'affichage de ton résultat est une macro évènementielle, c'est à dire qui se déclenche automatiquement lorsqu'il se produit un évènement.

En l'occurence, dans ton cas, l'évènement est le changement d'une cellule grisée.

Ce que tu peux faire pour mettre ton calcul à jour est de sélectionner la cellule grisée qui t'intéresse, double cliquer dessus de façon à voir le curseur clignoter et appuyer sur entrée... la macro considère alors qu'il y a changement dans la cellule et active le programme.

Ok, très bien.

merci pour ta réponse

J'ai modifié le code pour t'éviter la manip proposée dans mon poste précédent...

Regarde si ça répond à ton souci.

c'est parfait ta modif...

c'était pas un souci en soi mais c'est tellement plus pratique...

Je vais me répéter mais encore merci.

Et si ça peut intéresser quelqu'un je reposte mon fichier avec les dernières modif apportés... ça prend forme progressivement...

30minute-dqe.xlsm (106.75 Ko)
Rechercher des sujets similaires à "resultat recherche decalle rapport code"