[VBA] Recuperer le montant de devis sur un tableau

R@chid

XLDnaute Barbatruc
Bonjour @ tous,
Ce nouveau né de VBA va pas cesser de poser les questions :p
Sur le fichier joint, je veux qu'une foie j'ai créé un devis et après avoir saisi les données sur celui-ci je retourne sur le tableau de bord et je mets le curseur sur la ligne du devis en question et je clique sur un bouton pour récupérer le montant de ce dernier dans la cellule adéquate, sachant que sur le devis le montant va être toujours dans la colonne J mais pas certainement sur la même ligne 37 ou 40, 50..

Vous aller voir le Bouton Tableau de bord, qui me remet sur l'onglet tableau de bord, c'est fait par Lien-Hypertexte, je me demande si l'on peut faire avec du VBA et quand on clique dessus il met le curseur sur la ligne de ce devis dans le tableau de bord.

Merci de votre patience.
 

Pièces jointes

  • Rachid_XLD.xlsm
    50.2 KB · Affichages: 64
  • Rachid_XLD.xlsm
    50.2 KB · Affichages: 63
  • Rachid_XLD.xlsm
    50.2 KB · Affichages: 63

Fred0o

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Bonjour R@chid,

Voici un code qui devrait faire ce que tu demandes :
VB:
Sub Place_Montant()
    Dim NDev As String
    If ActiveCell.Row > Range("A65536").End(xlUp).Row Then Exit Sub
    NDev = Range("A" & ActiveCell.Row)
    With Sheets(NDev)
        Range("F" & ActiveCell.Row) = .Range("J" & .Range("J65536").End(xlUp).Row)
    End With
End Sub

A+
 

Modeste geedee

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Bonsour®

si tu as possibilité de figer le modèle
(c-a-d les zones cumuls toujours en même position
ou encore restreindre la plage désignation à 28 lignes)

l'adresse de cette zone restera fixe
alors une formule INDIRECT te permettra alors d'y accéder sans utilisation de macro :cool:
Capture.jpg

SINON en F3 :
=INDIRECT("'"&$A4&"'!$J$"&EQUIV("Montant TTC : ";INDIRECT("'"&$A4&"'!$A:$A");0))
 

Pièces jointes

  • Capture.jpg
    Capture.jpg
    36.6 KB · Affichages: 82
  • Capture.jpg
    Capture.jpg
    36.6 KB · Affichages: 77
  • montant-de-devis rachid_xld.xlsm
    54.2 KB · Affichages: 55
Dernière édition:

job75

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Bonjour R@chid, salut Fred0o, Modeste Geedee,

A affecter à ton bouton "Recuperer..." :

Code:
Sub Montants()
On Error Resume Next 'si la feuille n'existe pas
With Sheets(CStr(Cells(ActiveCell.Row, "A"))).Cells.Find("*Total HT*", , xlValues)
  Cells(ActiveCell.Row, "F") = .Offset(2, 1) 'TTC
  Cells(ActiveCell.Row, "G") = .Offset(, 1) 'HT
End With
End Sub
Plus besoin de formule en colonne G.

A+
 

job75

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Re,

Une solution plus sophistiquée qui évite d'utiliser un bouton.

Dans le code de la feuille "TableauDeBord" :

Code:
Private Sub Worksheet_Activate()
Dim tablo, i As Long, j As Variant
On Error Resume Next 'si une feuille n'existe pas
tablo = Range("A3:G" & Range("A" & Rows.Count).End(xlUp).Row)
For i = 1 To UBound(tablo)
With Sheets(CStr(tablo(i, 1)))
  j = Application.Match("*Total HT*", .Columns(1), 0)
  tablo(i, 6) = "": tablo(i, 7) = "" 'RAZ
  tablo(i, 6) = .Cells(j + 2, 10) 'TTC
  tablo(i, 7) = .Cells(j, 10) 'HT
End With
Next
Application.EnableEvents = False
[F3].Resize(UBound(tablo)) = Application.Index(tablo, , 6)
[G3].Resize(UBound(tablo)) = Application.Index(tablo, , 7)
Application.EnableEvents = True
End Sub
La macro s'exécute quand on active la feuille.

Elle est rapide car elle utilise un tableau VBA (aïe, un peu compliqué mon bébé).

A+
 

R@chid

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Bonjour @ tous,
Salut les VBébéisteS ;),

@ GD :
Merci mon ami pour ton passage, je sais le faire par formule mais je préfère le VBA, comme on peut aussi le faire par formule, même si l'on change la taille du tableau.

@ Fred0 :
Merci mon ami, c'est ce que j'attendais vraiment, ça répond à mon besoin.

@ Mon PapVBA :
J'ai beaucoup aimé, ta dernière proposition, comme tu l'as signalé, elle est un peu compliquée..
Je vais essayer de l'adapter à un autre tableau de dimensions différentes, pour voir si j'ai bien compris.

Soyez à l'attente de mon retour.

Merci
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : [VBA] Recuperer le montant de devis sur un tableau

Bonsour®
@ Mon PapVBA :
J'ai beaucoup aimé, ta dernière proposition, comme tu l'as signalé, elle est un peu compliquée..
Je vais essayé de l'adapter à un autre tableau de dimensions différentes, pour voir si j'ai bien compris.

si c'est pour le fun !!! alors je m'incline respectueusement(;)job75) ...:rolleyes:

en terme d'efficacité , de concision, de compréhension et de maintenance,
il est cependant souvent judicieux de tirer la quintessence de chaque approche...
:cool:
 

R@chid

XLDnaute Barbatruc

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg