Est ce possible pour un debutant ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PtitLoupSuisse

XLDnaute Nouveau
Bonjour,

Je connais les rudiments d'Excel mais pas beaucoup plus et je me demande s'il est possible de faire un tableau precis...

Je m'explique; Nous avons des planning horaires fait sous feuille excel, une feuille par semaine( donc S01,S02,S03,etc...).

Le planing est toujours fait de la meme manière (duplication de la dernière feuille), seuls les horaires d'ouverture et de fermeture de chaque personne sont modifié.

Je cherche a faire un tableau qui pourrait faire un récapitulatif du nombre de jour d'ouverture a telle ou telle heure de chaques personne durant toute l'année.

Suivant les semaines, nous sommes amenés a commencer a 9h00, 9h30, 10h00 voir meme 12h00. Chaque semaine est différente et le but est de classer pour chaque personne, le nombre d'ouverture a 9h00,... etc depuis le debut de l'année.

Sachant que les tableaux sont identiques a chaque fois, les cellules d'heures d'ouvertures (donc 6 par feuille pour chaque personne) sont toujours les memes, seule le nom de la feuille de calcul est différent( S01, S02, etc...), donc je suppose que c'est faisable.

Je vous joins une des feuilles de ce planing pour vous donner une idée.

Merci d'avance !

Cordialement...
 

Pièces jointes

Re : Est ce possible pour un debutant ?

Bonjour PtitLoupSuisse, le forum,

Pas facile de travailler dans une feuille protégée 😡. J'ai donc fait du copier coller pour avoir au moins une 2e feuille, et j'ai modifié des heures d'ouvertures à droite et à gauche.
J'ai essayé de trouver une formule adaptable et compréhensible par quelqu'un qui connaît les rudiments d'Excel ... L'inconvénient est qu'il faut ajouter des formules dans chacune des feuilles, pour centraliser le tout dans la feuille "récapitulative". Il est certainement possible de ne faire une formule que dans la feuille récapitulative, mais ce serait plus difficile à comprendre et adapter.

Jette donc un oeil et dis-nous ce qu'il en est!

Modeste
 

Pièces jointes

Re : Est ce possible pour un debutant ?

Bonsoir et merci de votre réponse,

Milles excuses pour la protection de feuille !!!!! J'ai complètement oublié, c'est stupide et je m'en excuse platement... 🙁

En ce qui concerne la formule, effectivement elle est très simple, je pensais que ca serait plus compliqué en fait 😛

Par contre ca va me donner du boulot pour faire cela sur toute une année (ce sera le but final), mais au moins ca fonctionne 🙂
 
Re : Est ce possible pour un debutant ?

Bonjour PtitLoupSuisse, le forum,

Milles excuses pour la protection de feuille !!!!! J'ai complètement oublié, c'est stupide et je m'en excuse platement... 🙁
Allons, mon brave ami, n'exagérons rien !😉

Par contre ca va me donner du boulot pour faire cela sur toute une année (ce sera le but final), mais au moins ca fonctionne 🙂
Comme tu fais chaque fois une copie de la feuille, la formule sera présente dans chaque feuille, après la copie en question ... Ceci dit, il y aura peut-être bien une bonne âme qui proposera des améliorations !

Modeste
 
Re : Est ce possible pour un debutant ?

Bonjour le fil 🙂,
Je sais que le mot d'ordre du départ était de faire simple, mais je ne sais pas faire 😛...
Quelques petites remarques :
1) Je préfère travailler en format réel d'heure, 18:30 est plus parlant que 18,50... J'ai donc utilisé le format 13:30 pour la saisie d'heure (il suffit de tapper 10: pour obtenir 10 heure par exemple), et le format personnalisé [h]:mm pour pouvoir additionner éventuellement au delà de 24 heures.
2) La formule utilisée pose le problème de ne pas différencier les heures de début et de fin, donc une personne qui travaille de 8:00 à 10:00 récupérera une ouverture à 10:00 😕...
3) Le récapitulatif contiendra 52 additions de formules, bon courage 😱...
Du fait, une proposition pas forcément à la portée d'un débutant, mais tout de même assez simple, avec une fonction VBA qui va décrire toutes les feuilles dont le nom commence par "s", chercher le nom de la personne, et ne regarder que les heures de début.
Bonne journée 😎
 

Pièces jointes

Re : Est ce possible pour un debutant ?

Bonjour et merci de vos réponses !

Le VBA, je connais pas mais faut bien commencer un jour de toute facon.

Et puis clairement, si cela peut me simplifier la vie pour une utilisation ultérieure, autant apprendre maintenant 🙂

Je vais essayer de decrypter le boulot fait sur cette feuille de calcul afin de comprendre exactement ce que vous avez fait et comment ca fonctionne.

Au pire, la première formule est largement plus lourde mais fonctionnelle et je la maitrise lol

Mais il n'y a pas de raison que je ne puisse pas comprendre et apprendre a utiliser le VBA !
 
Re : Est ce possible pour un debutant ?

Bonjour PtitLoupSuisse, JNP, le forum,

A la lecture des commentaires de JNP, je ne peux qu'abonder dans son sens pour ce qui concerne les formats heures, que je préfère aussi aux nombres décimaux.
D'accord également avec le fait que, si on compte simplement le nombre de fois ou 12:00 (par exemple) apparaît dans une ligne, rien ne permet de déterminer s'il s'agit de l'heure de début ou de fin de prestation.
Je comprends moins
Le récapitulatif contiendra 52 additions de formules ...
mais j'y réfléchis (si, ça m'arrive!)🙁

... Et puis, horreur et putréfaction ! En examinant la fonction personnalisée proposée par JNP et en admirant le style, la concision et tout, je me rends compte que nous ne cherchons pas les heures dans les mêmes lignes: j'ai décalé d'une ligne vers le bas à chaque fois. En outre, il y a même des références qui auraient dû être absolues et qui ne le sont pas, dans mes formules. Consternation! J'ai d'abord été tenté de faire "comme si de rien n'était" ... Mais bon, je n'ai pas pu!

Je dépose donc une nouvelle version de mon fichier initial, juste par correction intellectuelle (ou par goût pour l'auto-flagellation, allez savoir!)

Modeste
 

Pièces jointes

Re : Est ce possible pour un debutant ?

... Et puis, horreur et putréfaction ! En examinant la fonction personnalisée proposée par JNP et en admirant le style, la concision et tout, je me rends compte que nous ne cherchons pas les heures dans les mêmes lignes: j'ai décalé d'une ligne vers le bas à chaque fois. En outre, il y a même des références qui auraient dû être absolues et qui ne le sont pas, dans mes formules. Consternation! J'ai d'abord été tenté de faire "comme si de rien n'était" ... Mais bon, je n'ai pas pu!

Je dépose donc une nouvelle version de mon fichier initial, juste par correction intellectuelle (ou par goût pour l'auto-flagellation, allez savoir!)

Modeste

lol, j'avais bien vu votre erreur, mais comme c'était simple te que je comprenais parfaitement la logique des formules, cela ne m'a pas posé de problème pour refaire les corrections 😉

C'est bien, sur un simple post, 2 auto flagellation 🙂))
 
Re : Est ce possible pour un debutant ?

Re 🙂,
L'autoflagellation, pourquoi pas, mais, même si je suis contre la pub, je suis en train de lire un roman "Kushiel" de Jacqueline Carey, qui devrait vous plaire à ce niveau là...
Plus sérieusement, j'avoue que je n'ai pas creusé les formules de Modeste, vu que ma proposition était tout autre.
Je peux essayer de décomposer ma fonction, si PetitLoup souhaite aborder le VBA, vu qu'elle est très simple :
Code:
Function NbreOuverture(Nom As String, HeureDébut As Date) As Integer
Dim Feuille As Worksheet, I As Integer
For Each Feuille In ThisWorkbook.Worksheets
If Left(Feuille.Name, 1) = "s" Then
For I = 2 To 25 Step 4
If Feuille.Cells(Range("A:A").Find(Nom).Row + 1, I) = HeureDébut Then NbreOuverture = NbreOuverture + 1
Next I
End If
Next
End Function
For Each Feuille In ThisWorkbook.Worksheets
Pour chaque feuille dans le classeur
If Left(Feuille.Name, 1) = "s" Then
Si le premier caractère de gauche est s
For I = 2 To 25 Step 4
Pour la colonne 2 et les autres jusque 25, de 4 en 4, pour ne regarder que les heures de début
If Feuille.Cells(Range("A:A").Find(Nom).Row + 1, I) = HeureDébut Then
Si là où je trouve le prénom + 1 (car c'est des cellules fusionnées) dans la colonne de début est égal à l'heure de début que je souhaite
NbreOuverture = NbreOuverture + 1
Alors le résultat renvoyé par la fonction est augmenté d'1
Le reste consiste à terminer les boucles.
Pour la fermeture, il suffit d'adapter le code sur la colonne qui correspond, soit :
Code:
Function NbreFermeture(Nom As String, HeureFin As Date) As Integer
Dim Feuille As Worksheet, I As Integer
For Each Feuille In ThisWorkbook.Worksheets
If Left(Feuille.Name, 1) = "s" Then
For I = 5 To 28 Step 4
If Feuille.Cells(Range("A:A").Find(Nom).Row + 1, I) = HeureFin Then NbreFermeture = NbreFermeture + 1
Next I
End If
Next
End Function
Bon courage 😎
 
Re : Est ce possible pour un debutant ?

Bonjour,

Je suis en plein decorticage de ces fonction VBA (etant debutant je mets beaucoup de temps desole).

En regardant la macro, il y a en queue de macro une fonctiont dont je ne comprend pas le role:

Sub test()
MsgBox (Range"A:A").Find("Alex").Row)
End Sub

C'est une balise d'affichage si je comprend, mais quel est son role ?

Cordialement 😉
 
Re : Est ce possible pour un debutant ?

Bonjour PtitLoupSuisse, le forum,

En l'absence de JNP (qui me contredira s'il le juge utile) j'avais vu cette petite procédure aussi. Je pense qu'il s'agissait d'un test réalisé par JNP pour vérifier la syntaxe et ou le résultat d'une ligne de commande (mais qui n'a plus de raison d'être en tant que telle). Pour confirmation, tu peux mettre les 3 lignes en commentaire (en mettant une apostrophe au début de chaque ligne) ou exécuter cette procédure isolément (elle ne s'exécute pas "spontanément", puisque pas "appelée" dans le cadre de la fonction personnalisée).

Modeste
 
Re : Est ce possible pour un debutant ?

Re 🙂,
En l'absence de JNP (qui me contredira s'il le juge utile) j'avais vu cette petite procédure aussi. Je pense qu'il s'agissait d'un test réalisé par JNP pour vérifier la syntaxe et ou le résultat d'une ligne de commande (mais qui n'a plus de raison d'être en tant que telle).
C'est tout à fait exact. Désolé de ne pas avoir fait le nettoyage 😛... Mais ça permet de voir que l'ami PtitSuisse (j'ai pas pu me retenir 😀) décortique vraiment ce qui est fait au lieu d'attendre la bouche ouverte, ce dont je le félicite de vive voix !
Bonne journée 😎
 
Re : Est ce possible pour un debutant ?

Merci Messieurs de ces renseignements 🙂

Effectivement, si je dois apprendre il faut que je comprenne de quoi on parle, je ne suis pas a attendre d'un forum qu'il me mache le travail (même si c'est très agréable il faut le reconnaitre 😉 ).

Le VBA resemblant au basic, je dois bien etre capable de me debrouiller tot ou tard et cela permets des fonctions dont j'ignorai complètement l'existance.

Je savais Excel un logiciel assez pointu mais je ne voyais pas les possibilités...

Ma petite expérience de ces derniers jours m'a donnée envie de pousser un peu plus cette porte qu'est le VBA...

Avez vous des ouvrages (papiers, bien plus facile pour comprendre) a me conseiller sur l'apprentissage a ce langage ?
 
Re : Est ce possible pour un debutant ?

Re 🙂,
Une solution pratique et économique, c'est par exemple l'excellent site de JB qui contient plein de tutos, mais il y en a pas mal d'autres dont je n'ai pas l'adresse sous la main. Sinon, personnellement (en principe, on évite la pub...), j'ai beaucoup appréciée l'approche de la collection "pour les nuls", et le guide complet de "Micro Application" est très bon aussi. Et enfin, l'aide apportée par ce forum est souvent très constructive, en t'abonnant à des fils qui t'intéressent, tu peux suivre des solutions très différentes, mais toutes efficaces.
Bon courage 😎
PS : C'est assez normal que VBA ressemble au Basic, puis que cela signifie Visual Basic for Application, donc du Basic développé objet.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
10
Affichages
562
Deleted member 337748
D
Réponses
12
Affichages
1 K
Retour