Visualiser avant fermeture

Boujour

Testes ceci et dis moi

HEURES.xlsm (22,2 Ko)

Bonjour

écoute je suis désolé, mais j’ai fais une erreur en t’envoyant le fichier.

Alors ce que tu m’as retourné fonctionne très bien. Mais j’ai oublié de rajouter les 4 tableaux manquants sur la feuille « CALCUL DES HEURES » (voir fichier ci-joint)
Je ne sais pas ou j’avais la tête , vraiment désolé.

J’ai essayé de recopier ta formule en dessous de la première pour continuer mais cela ne fonctionne pas.

Merci d’avance pour la rectification.

Cdt Rubis

HEURES.xlsm (35,6 Ko)

Pas grave
Il a fallut que je retravaille le code
En cellule A2 la liste des lignes congés
A faire vivre au gré de l’évolution de leur nombre

Testes et dis moi
HEURES (1).xlsm (37,4 Ko)

Re,

mais cela fonctionne uniquement sur la feuille « CONGES » j’aurai voulu que chaque tableau soit lié à sa feuille de congés (CONGES A, CONGES B, etc…)

Re,
desolé c’est comme ca le nom des feuilles
mais cela fonctionne uniquement sur la feuille « CONGES » j’aurai voulu que chaque tableau soit lié à sa feuille de congés (CONGES, CONGES 2, >CONGES 3etc…)

A me donner les instructions petits bouts par petits bouts à la fin de l’année on risque de ne pas avoir terminé
Donc j’espère que cette fois ci ce sera la bonne
En cellule « A3 » dans le même ordre que les lignes congés en cellule « A2 » la liste des onglets respectifs à remplir
Ne pas mettre en début et fin de liste cellule « A2 » et « A3 » de symbole « / »

Je pense qu’enfin cela doit convenir

Testes et dis moi

HEURES (1).xlsm (38,2 Ko)

Merci beaucoup

désolé pour ce désordre ce matin c’était le chaos au travail et j’ai pas pu me concentrer.

Super, vraiment Super travail.
20/20 pour tout travail effectué de ta part et même au delà.

Merci encore à toi et à très vite.

Cdt Rubis

Merci pour cette reponse
La qualité du traitement restera intimement liée à celle des données à ta main cellule « A2 » et « A3 »
Pas de séparateur « / » à leurs extrémités
Bonne utilisation

Au plaisir

Bonjour,

J’ai un soucis avec le sujet que tu as traité hier pour moi.

Au départ je saisi les heures des salariés via un userform, qui une fois validé, me place les chiffres dans les tableaux "CALCUL DES HEURES ’ que tu avais en pièce jointe hier.
Hier tout fonctionnait et ce matin je saisi les heures et il m’affiche l’erreur ci- joint en image.

Alors pour démonter mes modules c’est compliqué . je te laisse en pièces jointes la macro de validation du userform ainsi que ta macro de hier que j’ai adaptée à mes modules.

Je ne sais pas si tu peux faire avec alors dis moi .

Merci d’avance. Cdt Rubis

MACRO USERFORM:

Private Sub CommandButton1_Click() 'valider

Application.ScreenUpdating = False

Dim wk1 As Workbook, chemin As String, col As Integer, lig1 As Integer

If Me.TextBox1.Value = «  » Then MsgBox (« Vous n’avez pas saisie la date »): Me.TextBox1.SetFocus: Exit Sub
chemin = ActiveWorkbook.Path

Set wk1 = Application.Workbooks.Open(chemin & « \GESTION PERSONNEL ET PAIE.xlsm »)

Application.DisplayAlerts = False

With wk1.Sheets(« RELEVE DES HEURES »)
col = (CDate(Me.TextBox1.Value) - .Range(« C4 »).Value) + 3
lig1 = 5

.Cells(lig1, col).Value = Me.TextBox2.Value
.Cells(lig1 + 1, col).Value = Me.TextBox3.Value
.Cells(lig1 + 2, col).Value = Me.TextBox4.Value
.Cells(lig1 + 3, col).Value = Me.TextBox5.Value
.Cells(lig1 + 4, col).Value = Me.TextBox6.Value
.Cells(lig1 + 5, col).Value = Me.TextBox7.Value
.Cells(lig1 + 9, col).Value = Me.TextBox8.Value
.Cells(lig1 + 10, col).Value = Me.TextBox9.Value
.Cells(lig1 + 11, col).Value = Me.TextBox10.Value
.Cells(lig1 + 12, col).Value = Me.TextBox11.Value
.Cells(lig1 + 13, col).Value = Me.TextBox12.Value
.Cells(lig1 + 14, col).Value = Me.TextBox13.Value
.Cells(lig1 + 18, col).Value = Me.TextBox14.Value
.Cells(lig1 + 19, col).Value = Me.TextBox15.Value
.Cells(lig1 + 20, col).Value = Me.TextBox16.Value
.Cells(lig1 + 21, col).Value = Me.TextBox17.Value
.Cells(lig1 + 22, col).Value = Me.TextBox18.Value
.Cells(lig1 + 23, col).Value = Me.TextBox19.Value
.Cells(lig1 + 27, col).Value = Me.TextBox20.Value
.Cells(lig1 + 28, col).Value = Me.TextBox21.Value
.Cells(lig1 + 29, col).Value = Me.TextBox22.Value
.Cells(lig1 + 30, col).Value = Me.TextBox23.Value
.Cells(lig1 + 31, col).Value = Me.TextBox24.Value
.Cells(lig1 + 32, col).Value = Me.TextBox25.Value
.Cells(lig1 + 36, col).Value = Me.TextBox26.Value
.Cells(lig1 + 37, col).Value = Me.TextBox27.Value
.Cells(lig1 + 38, col).Value = Me.TextBox28.Value
.Cells(lig1 + 39, col).Value = Me.TextBox29.Value
.Cells(lig1 + 40, col).Value = Me.TextBox30.Value
.Cells(lig1 + 41, col).Value = Me.TextBox31.Value

End With
wk1.Save
wk1.Close
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox « Salarié du jour et heures enregistrés »
Unload Me

End Sub

TA MACRO DE HIER

Private Sub Worksheet_Change(ByVal Target As Range)
listelignes = « / » & Range(« S1 ») & « / »
listeonglets = « / » & Range(« S2 ») & « / »
If UBound(Split(listelignes, « / » & Target.Row & « / »)) > 0 Then
lignetraitée = Target.Row
nomonglet = Split(listeonglets, « / »)(UBound(Split((Split(listelignes, lignetraitée)(0)), « / »)))
datedébut = «  »
datefin = «  »
For Each C In Range(« C » & lignetraitée & « :AG » & lignetraitée)
If C <> «  » Then
If datedébut = «  » Then
datedébut = Cells(lignetraitée - 4, C.Column)
End If
datefin = Cells(lignetraitée - 4, C.Column)
End If
Next
Sheets(nomonglet).Range(« F96 ») = "du " & CDate(datedébut) & " au " & datefin
End If
End Sub

Et encore une fois oublié ! Quelle semaine !

voici les images des erreurs.

IMA1

Pour revenir a la macro du userform via lequel je saisi les heures, juste pour, info la feuille destinataire « CALCUL DES HEURES » se nomme ici RELEVE DES HEURES

Bonjour
Et oui un cas non prévu !!!
dernière date en colonne AD le Lundi 28/02 et une valeur ligne congés présente dans les colonnes qui suivent jusqu’à la colonne « AG » sans date en correspondance et c’est le bug

Cette situation n’est pas très propre de mon point de vue
Seules les colonnes avec date devraient avoir leur cellule ligne congés avec une donnée celles sans date devraient être nettoyées de toute donnée
C’est mon point de vue

J’ai apporté une correction pour prendre en considération cette situation qui pour moi est anormale mais pour malgrès tout avoir le résultat escompté

Testes et dis moi

fiche 10.xlsm (54,8 Ko)

Bonjour

je crois que tu t’es trompé de fichier aussi !

Re,
alors je ne sais pas si tuas lu le message, mais je crois que tu m’as envoyé le mauvais fichier .
Oups

Et oui voilà ce qui arrive quand on traite plusieurs posts à la fois

Désolé voila le bon fichier pour toi ci-joint

HEURES (1).xlsm (38,7 Ko)

Et oui !

cela veut tout dire.

Le professeur n’arrive plus à suivre ! :rofl: :rofl:

Merci beaucoup pour ton aide et ta patience, tout fonctionne, enfin pourquoi je dis cela ! il n’y a rien à dire sauf MERCI à toi. :+1: :+1:

A une prochaine certainement.

Rubis

Merci pour ton retour et pour ta clémence en vers mes impers
Je ne recommencerai plus promis
Au plaisir de te retrouver

Pas de soucis je comprends.

Le forum a de la chance de t’avoir avec toute l’aide et le travail que tu apportes vers les demandes.

Ton travail c’est tout simplement Génial et très professionnel. :+1: :+1: :+1:

Alors a très vite .
Cdt Rubis

Merci merci
C’est un plaisir pour moi de vous venir en aide et vous satisfaire

Au plaisir de réitérer avec toi

Bonjour,

alors il me reste un petit soucis que je n’arrive pas à comprendre.

Dans ma feuille de stock j’avais env. 1600 lignes d’articles et j’ai une macro qui me permets de descendre au dernier article(dernière ligne stock).

L’autre macro me permets de remonter directement au début (1ère ligne stock).

Or, je viens de supprimer plusieurs articles de mon stock et lorsque je clique maintenant sur le bouton pour descendre au dernier article il va directement à l’ancien emplacement du dernier article.(donc quasiment 150 lignes plus loin)

Que faut-il changer dans les codes que je mets ci-dessous ?

Sub remonter()
'Remonter au haut de la feuille stock
ActiveWindow.ScrollRow = 1
End Sub

Sub descendre()
'Descendre a la derniere ligne du stock
ActiveWindow.ScrollRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).Row
End Sub

Merci d’avance pour ta réponse

Cdt Rubis

Bonjour
As tu essayé avant d’utiliser ton traitement d’enregistrer de fermer et de rouvrir le fichier ?

Essaies et dis moi