renvoi d'horaire à parti

0

Bonjour tout le monde,

J'ai un petit soucis sur comment créer mon projet de renvoi d'horaire à partir d'un tableau .

J'ai mis les instructions et résultat attendu sur le document.

https://www.cjoint.com/c/HEooFRYqshT

(Chris petit défis Excel)

Merci de votre aide si c'est réalisable.

Cordialement,

Tom

Tom Posté le 14 mai 2018, 16:33
par Tom
Répondre
0

Re,

l'inconnu est M12,

mais comme il y a rarement de remerciement sur ce forum, je reste incognito, comme cela je n'attends rien

Sub test()

Dim Lig%, Col%, Dc%, Dl%, Nb% 'Déclaration des variables

Dl = Range("A" & Rows.Count).End(xlUp).Row 'Derniére ligne non vide depuis la colonne A

Dc = Cells(1, Columns.Count).End(xlToLeft).Column 'Dernière colonne vide de la ligne 1

  For Lig = 2 To Dl 'boucle de la ligne 2 à la dernière

  Nb = 0 'compteur pour compter les "1"

    For Col = 2 To Dc 'boucle sur les colonnes de 2 à la dernière

      If Cells(Lig, Col) = 1 Then 'Si la cellule(ligne,colonne)=1 alors

        Nb = Nb + 1 'j'ajoute 1 au compteur

        Cells(Lig, 43) = Cells(1, Col + 1) 'la cellule de fin est alimentée par la ligne 1 et la colonne +1

        Cells(Lig, 42) = Cells(1, Col + 1 - Nb) 'la cellule de début est alimenté par la ligne 1 et la colonne +1 mois le compteur de 1

      End If

    Next Col

  Next Lig

End Sub


Posté le 14 mai 2018, 18:18
1
Posté le 14 mai 2018, 18:04
0

Wahou pas mal du tout Mr l'inconnu !

peux tu m'expliquais les paramètres à modifier pour l'insérer dans mon fichier ou l'adapter plus tard.

Sub test()
Dim Lig%, Col%, Dc%, Dl%, Nb%
Dl = Range("A" & Rows.Count).End(xlUp).Row
Dc = Cells(1, Columns.Count).End(xlToLeft).Column
  For Lig = 2 To Dl
  Nb = 0
  For Col = 2 To Dc
  If Cells(Lig, Col) = 1 Then
  Nb = Nb + 1
  Cells(Lig, 43) = Cells(1, Col + 1)
  Cells(Lig, 42) = Cells(1, Col + 1 - Nb)
  End If
  Next Col
  Nb = 0
  Next Lig
End Sub

Un grand merci en tous les cas

Cordialement,

Tom

Tom Posté le 14 mai 2018, 18:08
par Tom
0

Salut M12,

Je te comprend pour les remerciements :)

merci pour l'explication dans tous les cas.

Si je remplace Dl ou Dc par un nombre ça me permettra de faire arrêter le calcul à une certaine ligne ?

Comment puis je l'étendre à d'autre feuille de calcul qui ont exactement le même format en colonne mais pas en ligne

cordialement,

Tom

Tom Posté le 14 mai 2018, 18:36
par Tom
  • Re, Dans ce cas si les colonne sont identiques ôte la recherche de Dc= 'pour la recherche de la dernière colonne et place le N° de la colonne en partant de "A" = 1 pour les lignes, si ce n'est pas les mêmes longueurs,, c'est plus embêtant, ou alors je pense que ta recherche se ferait sur un mois ou période qu'il faudrait initialiser Place un exemple avec deux/trois onglets et les restrictions et je regarderai – 14 mai 2018, 18:41
0

Re, En fait c'est pour faire de la planification.
je ne vais pas avoir besoin tous les jours du même nombre de ressource.
En plus si je travaille sur d'autre planning, je souhaiterais supprimer des lignes ou en rajouter en fonction des besoins.
voici un exemple de 3 jours https://www.cjoint.com/c/HEoq0WufD5T

J'aimerais activer la macro sur certaines feuilles, ça se passe comment ?

Merci en tous les cas,

Cordialement,

Tom

Tom Posté le 14 mai 2018, 18:55
par Tom
  • Re je ne vais pas avoir besoin tous les jours du même nombre de ressource A savoir ? je souhaiterais supprimer des lignes ou en rajouter en fonction des besoins. A savoir? je souhaiterais supprimer des lignes ou en rajouter en fonction des besoins. A savoir? Avec ses interrogations, comment veut tu que je puisse gérer quelque chose sans explications claires , nettes et précises – 14 mai 2018, 20:30
  • en fait c'est bon, je garde la feuille de calcul au même dimension ça fonctionne très bien, j'ai trouvé comment propager la macro sur les autres feuillles. Un grand merci :) Tom – Tom 14 mai 2018, 20:58
1

Bonsoir Tom,

Salut M12,

Voici une proposition par formule si cela te convient.

https://www.cjoint.com/c/HEosOdKJFFu

Cordialement.

mdo100 Posté le 14 mai 2018, 20:40
par mdo100
0

Salut Mdo100,

Vous êtes au top !!!, les 2 propositions me vont super bien.

Je vais les utiliser pour différents besoin.

Merci encore :).

Cordialement,

Tom

Tom Posté le 14 mai 2018, 20:57
par Tom

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :