Ajout ligne VBA

nicolasbiais

XLDnaute Nouveau
Bonjour,

je suis débutant en VBA et je cherche une solution à un problème.

j'ai un tableau avec une date et une heure de début et une date et une heure de fin.

Je souhaiterai, SVP, dans mon tableau ci-joint, que :

- ajouter une ligne en fonction d'un critère (critère 1) et de reporter la date au niveau de la nouvelle ligne.
- inclure par la même occassion un groupe horaire en fonction de l'heure

c'est a dire lorsque la date de fin est différente de la date de début, mettre dans la ligne de la date du début la date du début mais avec l'horaire 23:59.
Avec une macro, ajouter une ligne avec la date de fin est l'heure restante de 00:00 à 19:29 (par exemple dans mon tableau en D3

Cela est peut etre pas tres clair.

je fais figurer dans mon fichier joint, en rouge, le résultat que je recherche à obtenir.

Merci encore pour vos suggestions.

Vous m'avez déjà aidé dans le passé et vous êtes vraiment très fort.
 

Pièces jointes

  • essai vba.xlsx
    9.5 KB · Affichages: 43
  • essai vba.xlsx
    9.5 KB · Affichages: 48
  • essai vba.xlsx
    9.5 KB · Affichages: 46

vgendron

XLDnaute Barbatruc
Re : Ajout ligne VBA

Bonjour,

est ce que le fichier joint te conviendrait?

Normalement ca devrait aussi marcher dans le cas où ton écart est de 2 ou 3 ou plusieurs jours.
 

Pièces jointes

  • NicolasBiais.xlsm
    16.2 KB · Affichages: 59
  • NicolasBiais.xlsm
    16.2 KB · Affichages: 58
  • NicolasBiais.xlsm
    16.2 KB · Affichages: 58

nicolasbiais

XLDnaute Nouveau
Re : Ajout ligne VBA

bonjour,
je viens d'essayer et c'est parfait merci beaucoup.
juste encore une petite chose, est il possible de répéter le chiffre 0 qui est au dessus par exemple ?
comment copier ce module vers d'autres feuilles ou un autre classeur ?
merci encore
 

vgendron

XLDnaute Barbatruc
Re : Ajout ligne VBA

Salut

pour répéter le chiffre 0: il s'agit en fait de recopier la formule:
il faut donc juste rajoutter cette ligne de code
Code:
Cells(k + j, 5).FormulaLocal = "=C" & k + j & "-A" & k + j
juste avant le "next j"

le module est par définition accessible de toutes les feuilles du classeur..
par contre, pour le copier vers un autre classeur, c'est simple
en supposant que tu aies ouvert les deux classeurs, tu fais Alt+F11 pour ouvrir l'éditeru VBA

et pour copier le module, il te suffit de le glisser d'un classeur à l'autre
 

nicolasbiais

XLDnaute Nouveau
Re : Ajout ligne VBA

merci beaucoup
juste une derniere petite question, lorsque le vba fait son travail correctement avec ta "formule" et que je souhaite remplacer le "0" par la valeur de la ligne correspondante du dessus et cela sur plusieurs colonnes. Est ce possible ? (je rejoins un modele pour etre plus clair)


merci encore de ton super travail
 

Pièces jointes

  • essai vba.xlsx
    9.6 KB · Affichages: 33
  • essai vba.xlsx
    9.6 KB · Affichages: 37
  • essai vba.xlsx
    9.6 KB · Affichages: 40

vgendron

XLDnaute Barbatruc
Re : Ajout ligne VBA

Salut et belle journée ! ;-)
Alors voici le fichier modifié pour avoir ce que tu souhaites..
si je comprend bien, la colonne E (avec les chiffres) ne correspond plus vraiment à l'écart de jours entre les deux dates ?
 

Pièces jointes

  • NicolasBiais.xlsm
    16.5 KB · Affichages: 33
  • NicolasBiais.xlsm
    16.5 KB · Affichages: 37
  • NicolasBiais.xlsm
    16.5 KB · Affichages: 41

nicolasbiais

XLDnaute Nouveau
Re : Ajout ligne VBA

bonjour,
merci beaucoup ta reponse m'a beaucoup aidé.
Je souhaiterai integrer dans la décomposition un choix, peut etre sous forme de menu déroulant ou de calendrier d'année en année allant de 2005 à 2013 mini.
est il possible de rajouter une messagebox si certains critéres sont dépassés (ex: date de début+15 j et en fonction d'un nombre de personnes (10 par exemple).

EXEMPLE :
date début : 01/01/12
durée : 15 jours
nbre de personnes : >30
ICI AUCUNE ALARME

LA MEME CHOSE AVEC <30 ALARME avec indication attention délai dépassé apr exemple en renvoyant sur un numéro de ligne.

En espérant avoir été précis.

Merci encore
 

Discussions similaires

Réponses
14
Affichages
516

Statistiques des forums

Discussions
312 088
Messages
2 085 203
Membres
102 818
dernier inscrit
NeoMaint