Mise a jour Sheet (macro Excel)
Résolu
kikiben84
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
kikiben84 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
kikiben84 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
Bonjour, Je me lance en ce moment à la découverte des macros sur Excel, et après avoir surfé (à de très nombreuses reprises !) sur différents sites d'aides, je fait face à un problème que je n'ai aps réussit à trouver ailleur :
Voici mon problème :
J'ai une Sheet 1 où je rentre des données une fois après avoir rentré les données, l'utilisateur clique sur une comboBox afin de mettre à jour une autre sheet (sheet 2) avec les données de la sheet 1
Le hic est que je voudrais que dans la sheet 2 figure la date du jour de la mise à jour pour chaque ligne qui viens d'être modifiée... (En gros une fonction qui détermine les cellules dont les valeurs ont été modifiées lors de la dernière mise à jour et donc change la date qui était présente en la date du jour de la mise à jour)
Arf c pas très évident à expliquer ! Si quelqu'un comprend mon problème, et surtout sais comment le résoudre... une aide me rendrai vriament un grand service.
Merci bien
Bonne journée
Voici mon problème :
J'ai une Sheet 1 où je rentre des données une fois après avoir rentré les données, l'utilisateur clique sur une comboBox afin de mettre à jour une autre sheet (sheet 2) avec les données de la sheet 1
Le hic est que je voudrais que dans la sheet 2 figure la date du jour de la mise à jour pour chaque ligne qui viens d'être modifiée... (En gros une fonction qui détermine les cellules dont les valeurs ont été modifiées lors de la dernière mise à jour et donc change la date qui était présente en la date du jour de la mise à jour)
Arf c pas très évident à expliquer ! Si quelqu'un comprend mon problème, et surtout sais comment le résoudre... une aide me rendrai vriament un grand service.
Merci bien
Bonne journée
A voir également:
- Mise a jour Sheet (macro Excel)
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mise en forme conditionnelle excel - Guide
- Mise a jour chromecast - Accueil - Guide TV et vidéo
7 réponses
bonjour
Dans la cellule choisie dans ta ligne modifiée, il suffit de mettre :
cells(ligne,colonne).value = date (ou date + time si tu veux date et heure)
Dans la cellule choisie dans ta ligne modifiée, il suffit de mettre :
cells(ligne,colonne).value = date (ou date + time si tu veux date et heure)
Arf cela ne répond, qu'à une partie de mon problème, en fait ce que je voudrais c'est que la date ne s'affiche uniquement si l'une des valeur des cellules de la ligne a été modifiée depuis la dernière mise à jour. En gros une fonction qui capte que dans la ligne une cellule a changé de valeur...
bonjour
Dans ce cas il faut faire le test avant de mettre la date.
en adaptant combo(l, c).Value à la façon dont tu fais les mises à jour
Dans ce cas il faut faire le test avant de mettre la date.
l = la_ligne_traitée For c = 1 To Rows(l).SpecialCells(xlCellTypeLastCell).Column If Cells(l, c).Value <> combo(l, c).Value _ And c <> colonne Then Cells(l, colonne) = Date + Time End If ' colonne étant la colonne de mise à jour Next c
en adaptant combo(l, c).Value à la façon dont tu fais les mises à jour
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je ne savais pas que vous m'aviez répondu ! je pensais que je recevrais un mail du site mais ça n'a pas été le cas... désolé de le voir si tardivement
Donc au début je met :
J'ai compri tout le programme mis à part ce qu'est le combo(l, c) et ce que je dois faire avec, et forcément ça fait planter le programme du coup ("Sub or Fonction not defined"). En fait le combo(l,c).Value doit représenter la valeur que possèdait la cellule modifiée avant d'être modifiée? c'est bien ça?
Sinon moi du coup depuis le tps je me suis débrouillé d'une autre façon mais qui prend plus de tps au programme, à chaque fois qu'une valeur est insérée(ou donc modifiée) dans dans la sheet1 dans une ligne du tableau, la date du jour s'inscrit dans une cellule de cette meme ligne se trouvant dans une collone ("date de mise à jour") et lorsque que je fait une mise à jour de l'autre sheet (sheet2) je copie la collone ("date de mise à jour") et la colle dans la sheet mise à jour. le problème est que du coup un sablier apparait a chaque fois qu'on modifie une cellule de la ligne...
Pouvez vous malgré tout me repondre à ma question à propos de votre proposition on ne sais jamais...
Merci pour l'aide en tout cas
Donc au début je met :
l = ActiveCell.Row
J'ai compri tout le programme mis à part ce qu'est le combo(l, c) et ce que je dois faire avec, et forcément ça fait planter le programme du coup ("Sub or Fonction not defined"). En fait le combo(l,c).Value doit représenter la valeur que possèdait la cellule modifiée avant d'être modifiée? c'est bien ça?
Sinon moi du coup depuis le tps je me suis débrouillé d'une autre façon mais qui prend plus de tps au programme, à chaque fois qu'une valeur est insérée(ou donc modifiée) dans dans la sheet1 dans une ligne du tableau, la date du jour s'inscrit dans une cellule de cette meme ligne se trouvant dans une collone ("date de mise à jour") et lorsque que je fait une mise à jour de l'autre sheet (sheet2) je copie la collone ("date de mise à jour") et la colle dans la sheet mise à jour. le problème est que du coup un sablier apparait a chaque fois qu'on modifie une cellule de la ligne...
Pouvez vous malgré tout me repondre à ma question à propos de votre proposition on ne sais jamais...
Merci pour l'aide en tout cas
bonjour
En fait le combo(l,c).Value doit représenter la valeur que possèdait la cellule modifiée avant d'être modifiée?
Non c'est la valeur de modification de la cellule et comme je ne connait pas la méthode de mise à jour employée...
le problème est que du coup un sablier apparait a chaque fois qu'on modifie une cellule de la ligne...
C'est sans doute que la méthode employée n'est pas performante.
sheets("feuil1").rows(ligne).copy destination:=sheets("feuil2").rows(ligne)
En fait le combo(l,c).Value doit représenter la valeur que possèdait la cellule modifiée avant d'être modifiée?
Non c'est la valeur de modification de la cellule et comme je ne connait pas la méthode de mise à jour employée...
le problème est que du coup un sablier apparait a chaque fois qu'on modifie une cellule de la ligne...
C'est sans doute que la méthode employée n'est pas performante.
sheets("feuil1").rows(ligne).copy destination:=sheets("feuil2").rows(ligne)
Bonjour
(Non c'est la valeur de modification de la cellule et comme je ne connait pas la méthode de mise à jour employée...)
En fait l'utilisateur rentre une nouvelle valeure manuellement en écrasant la précédente et c'est à ce moment la que la date doit s'afficher dans une autre cellule, enfin bon je me suis débrouiller un peu comme j'ai décrit ci dessus (système D lol) et sa marche...
Je connaissais pas ce mode de copier coller c'est bien sa marche mieux !
merci pour ton aide !
(Non c'est la valeur de modification de la cellule et comme je ne connait pas la méthode de mise à jour employée...)
En fait l'utilisateur rentre une nouvelle valeure manuellement en écrasant la précédente et c'est à ce moment la que la date doit s'afficher dans une autre cellule, enfin bon je me suis débrouiller un peu comme j'ai décrit ci dessus (système D lol) et sa marche...
Je connaissais pas ce mode de copier coller c'est bien sa marche mieux !
merci pour ton aide !