Mettre à jour une heure grâce à une variable

Bonsoir :)

Je reviens vers vous pour un dépannage sur ma macro, je pense que ça doit être un truc bête puisque j'ai pu faire un code et le tester pour une valeur fixe mais pour une variable j'ai soit l'erreur N/A soit 0 malgré mes réajustements:(.

En gros je veux incrémenter une cellule selon une variable (en heure de -50 à 50). le tout pour avoir des heures à la fin par exemple dans le nouveau tableau je voudrais avoir (14:00 - 17:00)+2h = (16:00 - 19:00). J'ai fait des manip pas très catholiques :) juste pour avoir mon résultat en heure. Voici le code :

14:00-17:00

Sheets("Feuil2").Select

Range("D12").Select

Application.CutCopyMode = False

ActiveCell.FormulaR1C1 = _

"=CONCATENATE(HOUR(LEFT(Feuil3!RC,5)+""2:00""),""-"",HOUR(RIGHT(Feuil3!RC,5)+""2:00""))"

Range("D13").Select

Sheets("Feuil1").Select

Range("D12").Select

ActiveCell.FormulaR1C1 = "=Feuil2!RC"

Range("D13").Select

Sheets(Array("Feuil2", "Feuil3")).Select

Sheets("Feuil3").Activate

ActiveWindow.SelectedSheets.Visible = False

Et donc j'ai essayé de remplacer les 2h par une variable dans mon code mais ça ne marche pas :

Dim Nombre as Interger

..........

ActiveCell.FormulaR1C1 = _

"=CONCATENATE(HOUR(LEFT(Feuil3!RC,5)+Heure(TEXTE(Nombre;"00"":""00"":""00")*60*60""),""-"",HOUR(RIGHT(Feuil3!RC,5)+Heure(TEXTE(Nombre;"00"":""00"":""00")*60*60"")))"

Et puis je refais une manip pour transformer mon résultat en heure mais pour cette partie ça va je sais déjà faire, même si c'est pas très académique mais bon

merci d'avance pour vos réponses

Bonjour,

je veux incrémenter une cellule

pourquoi D12 et D13 alors ?
Explications à revoir
eric

Bonsoir Eric merci pour ta réponse

"Pourquoi D12 et 13 alors ?"

Explications : je pars du sheet 1 (cellule du tableau) comme référence, puis en sheet2 j'incrémente ma cellule de 2h et je la transforme en heure également et en sheet 3 je récupère la valeur de la cellule sheet2 au format texte ------> que après je vais retransformer en format heure dans une autre cellule différente dans la sheet3. Du coup je sais que c'est une grosse gymnastique :) mais ça a le mérite de marcher avec une variable fixe (2h).

Voilà est ce clair à ton niveau Eric ?

14:00-16:0016:00-18:0016:00-18:00
sheet1sheet2sheet3

Incomplet
Tes feuilles s'appellent vraiment sheet1 sheet2 sheet3 ?
Et jusqu'à combien ?
Il faut vraiment les créer une par une à chaque demande comme tu l'expliques, ou toute une série d'un coup ?
eric

trois sheets que j'ai nommé feuil1, feuil2 et feuil3 comme sur le code. Yen a que 3 :)

si on peut les créer toutes d'un coup ça serait cool sinon les faire manuellement une par une.

ai je répondu à toutes tes questions ?

Bonjour,

Pourquoi citer sheet alors ?
J'ai supposé que c'était Feuil1 avec une majuscule, ça compte en vba.

Double-cliquer sur une cellule.
Si son contenu est du style hh1:mm1-hh2:mm2, le pas sera de la différence.
Ca peut donc être 2:00 ou 00:15 ou ...
eric

24classeur2.xlsm (17.59 Ko)

Bonjour Eric,

Merci pour la réponse cependant ta macro ne s'affiche pas du tout. J'ai bien revérifié mes options (tout est affiché) et j'ai même essayé avec un différent pc mais la macro y est absente....

Bonjour,

as-tu lu et fais ça ?
Double-cliquer sur une cellule.
Si son contenu est du style hh1:mm1-hh2:mm2, le pas sera de la différence.

et regardé les autres feuilles ?
La macro est bien présente dans le module Feuil1, c'est sur celle-ci qu'il faut double-cliquer

J'ai bien lu mais je n'ai pas compris ce que tu voulais dire en vrai. Et aussi j'ai regardé les autres feuilles.

Ah étonnant la macro s'affiche pas sur mon ordi ni sur un autre pc. Y'a moyen que tu le copies colles stp si ça ne te dérange pas ?

Je viens de compléter mon post précédent
Double-clique sur Feuil1!A2

Edit : ça ne servira à rien. Si tu ne la vois pas, tu ne la colleras pas où il faut : ELLE Y EST

quand je double clique sur la cellule A2 et que je modifie les valeurs, rien ne se passe

Vide A2 dans Feuil2 et Feuil3, retourne en Feuil1 faire ton double.clic.
Feuil2 et Feuil3 se sont remplis, même cellule que celle double-cliquée non ?

Oui ça change mais j'ai pas la variable en fait pour ajouter l'heure. Par exemple sur la Feuil1, j'ai déjà l'heure au format indiqué (14:00-17:00) et je veux par une variable U (en heure) incrémenter l'heure. Raison pour la quelle j'ai fait toute cette gymnastique sur mon code macro

Salut le fil ...

Nikel cette macro, Koubaleite tu dois changer la valeur sur Feuil1.[A2] avant de faire le double clic sur Feuil1[A2]...

Bonjour,

mais faut lire ce que j'écris, je t'ai expliqué le fonctionnement choisi. Ca devient pénible !
Si tu as 14:00-16:00 dans ta cellule, tu as 2h d'écart. La feuille suivante aura 16:00-18:00
Si tu as 14:00-17:00 dans ta cellule, tu as 3h d'écart. La feuille suivante aura 17:00-20:00
eric

Bonjour Jean Paul,

Merci pour l'éclaircissement.

Bonjour Eric,

"mais faut lire ce que j'écris, je t'ai expliqué le fonctionnement choisi. Ca devient pénible !" -ça devient pénible- Désolé j'avais pas bien compris. C'est pas exactement ce que je voulais mais pas grave je vais continuer à bidouiller de mon coté.

Bonne journée !

Bonjour à tous,

En attendant, pour la plage horaire en A1 ("14:00:17:00" par exemple), le nombre d'heures à ajouter en B1 (2) alors en C1 :

=CONCATENER(TEXTE((HEURE(GAUCHE(A1;5))+B1)/24;"[hh]:mm");"-";TEXTE((HEURE(DROITE(A1;5))+B1)/24;"[hh]:mm"))

Ce qui donne bien 16:00-19:00.

Juste une piste plus qu'à la transposer en VBA si vous souhaitez rester sur votre modèle de macro.

Je reste dispo si besoin.

Cdlt,

et bien si tu ne veux pas que ce soit automatique, tu as juste à remplacer la valeur calculée par ta valeur fixe.

Bonsoir Ergotamine,

Merci beaucoup, je vais essayer ça demain matin et je te tiens au courant. Bonne soirée

Merci Eric pour votre macro aussi

Rechercher des sujets similaires à "mettre jour heure variable"