Microsoft 365 copier/coller de plusieurs infos dans un onglet d'après une valeur donnée par liste

jag47

XLDnaute Nouveau
Bonjour :)
j'essaye de mettre au point un fichier de suivis de matériel mais pas moyen d'y parvenir.
L'idée c'est a partir de l'onglet de départ "init" de faire le choix du matériel grâce aux listes en cascade (liste : zone, centrale, tag baes et modele), ça ça marche, ensuite a partir des 2 boutons d'état (OK et HS) je souhaiterais reporté les infos date, modele et l'etat dans l'onglet correspondant à la valeur de la cellule centrale et a la ligne égale à la valeur de la cellule tag baes. Le peu de VBA que j'ai déjà écris ben.. c'est pas top ;-)si quelqu'un a des neurones a cramer sur mon bidule ce serais sympa, merci.
 

Pièces jointes

  • fichier-suivis-BAES-001 test.xlsm
    266.6 KB · Affichages: 4
Solution
Bonjour,
Votre fichier en PJ.
Il faudra sûrement adapter pour obtenir le résultat souhaité, car je n'ai pas trop compris à quoi servaient les différentes dates... mais dans le principe, ça devrait fonctionner.
VB:
Public date_controle, zone_controle, centrale_controle, tag_control, modele_controle

Sub baes_ok()

 recherche_tab "OK"


End Sub


Sub baes_hs()

 recherche_tab "HS"


End Sub

Sub recherche_tab(Etat As String)

date_controle = Range("date_controle")
zone_controle = Range("zone_controle")
centrale_controle = Range("centrale_controle")
tag_controle = Range("tag_controle")
modele_controle = Range("modele_controle")

Dim sh As Worksheet
Dim c As Range

Set sh = Sheets(centrale_controle)
Set c =...

Softmama

XLDnaute Accro
Bonjour,
Votre fichier en PJ.
Il faudra sûrement adapter pour obtenir le résultat souhaité, car je n'ai pas trop compris à quoi servaient les différentes dates... mais dans le principe, ça devrait fonctionner.
VB:
Public date_controle, zone_controle, centrale_controle, tag_control, modele_controle

Sub baes_ok()

 recherche_tab "OK"


End Sub


Sub baes_hs()

 recherche_tab "HS"


End Sub

Sub recherche_tab(Etat As String)

date_controle = Range("date_controle")
zone_controle = Range("zone_controle")
centrale_controle = Range("centrale_controle")
tag_controle = Range("tag_controle")
modele_controle = Range("modele_controle")

Dim sh As Worksheet
Dim c As Range

Set sh = Sheets(centrale_controle)
Set c = sh.Range("A6:A1000").Find(what:=tag_controle, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
  c.Offset(, 1) = modele_controle
  c.Offset(, 2) = date_controle
  c.Offset(, 3) = Etat
End If


End Sub
 

Pièces jointes

  • fichier-suivis-BAES-001 test.xlsm
    261.9 KB · Affichages: 4

jag47

XLDnaute Nouveau
ça marche nickel, ça correspond parfaitement a ce que je souhaitais, les différentes dates sont en fait la date du contrôle de l'état, la date d'installation du matériel et la date prévisionnelle de remplacement (date d'install + 8 ans). merciiii ;-)
 

Discussions similaires

Statistiques des forums

Discussions
312 106
Messages
2 085 352
Membres
102 871
dernier inscrit
Maïmanko