modifier une cellule en modifiant la bonne ligne

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

bonjour tous :):)
normal calcul pas bon dans feuil 9

dans feuil 3 les listes ne sont reactualisées tu as du rentrer des données directement??? sans passer par l'user
eventuellement mettre ce code a l'activation de la feuille 9 cela devrait rentrer dans l'ordre & quand tu call user stat..

Code:
With Sheets("Feuil3")
   .Range("a3:t" & .Cells.Find("*", , , , , xlPrevious).Row).Sort _
   Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess
   .Range("k3:k" & .Cells(Rows.Count, "k").End(xlUp).Row).Name = "Service_réalisé"
   .Range("n3:n" & .Cells(Rows.Count, "n").End(xlUp).Row).Name = "heures_réalisé"
   .Range("s3:s" & .Cells(Rows.Count, "s").End(xlUp).Row).Name = "semaine_réalisé"
   .Range("q3:q" & .Cells(Rows.Count, "q").End(xlUp).Row).Name = "Choix_Année_Réalisée"
   .Range("p3:p" & .Cells(Rows.Count, "Q").End(xlUp).Row).Name = "Formateur_réalisé"
  End With
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re salut
je ne comprends pas où mettre le code, peux tu m'expliquer
merci
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re tu mets la macro ci dessous dans un module puis tu la lances d'ou tu veus cela devrait reparer tes listes

Code:
Sub aa()
With Sheets("Feuil3")
   .Range("a3:t" & .Cells.Find("*", , , , , xlPrevious).Row).Sort _
   Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess
   .Range("k3:k" & .Cells(Rows.Count, "k").End(xlUp).Row).Name = "Service_réalisé"
   .Range("n3:n" & .Cells(Rows.Count, "n").End(xlUp).Row).Name = "heures_réalisé"
   .Range("s3:s" & .Cells(Rows.Count, "s").End(xlUp).Row).Name = "semaine_réalisé"
   .Range("q3:q" & .Cells(Rows.Count, "q").End(xlUp).Row).Name = "Choix_Année_Réalisée"
   .Range("p3:p" & .Cells(Rows.Count, "Q").End(xlUp).Row).Name = "Formateur_réalisé"
 End With
End Sub
les feuilles 3 & 5 doivent imperativement renseignées par l'user le code ci dessus est dans l'user quand tu valides
si tu renseignes directement normal que les liste ne soit pas reactualisées
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

Merci à priori ça fonctionne, mais ej vais devoir verrouiller les accès aux feuilles aux utilisateurs certains doivent passer outre l'user
merci laetitia90
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re pas oblige mais bon
on pourrait mettre la macro egalement dans deactivate de la feuille 3
Private Sub Worksheet_Deactivate()
Call aa
End Sub
comme cela de qu'on quitte la feuille3 on lances la macro mais bon a reflechir
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re, je doit également faire une macro pour la feuille 5 alors? puisque la macro aa fait référence à la feuil3?
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re laetitia90, je voulais savoir si je devais faire pareil pour la feuille5 ou ce n'est pas utile? merci
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re ,:)

tu pourrais faire qu'une macro pour simplifier en mettant aussi dans deactivate de la feuil 5
Code:
Sub aa()
With Sheets("Feuil3")
   .Range("a3:t" & .Cells.Find("*", , , , , xlPrevious).Row).Sort _
   Key1:=.Range("a3"), Order1:=xlAscending, Header:=xlGuess
   .Range("k3:k" & .Cells(Rows.Count, "k").End(xlUp).Row).Name = "Service_réalisé"
   .Range("n3:n" & .Cells(Rows.Count, "n").End(xlUp).Row).Name = "heures_réalisé"
   .Range("s3:s" & .Cells(Rows.Count, "s").End(xlUp).Row).Name = "semaine_réalisé"
   .Range("q3:q" & .Cells(Rows.Count, "q").End(xlUp).Row).Name = "Choix_Année_Réalisée"
   .Range("p3:p" & .Cells(Rows.Count, "Q").End(xlUp).Row).Name = "Formateur_réalisé"
 End With
 With Sheets("Feuil5")
    .Range("a3:t" & .Cells.Find("*", , , , , xlPrevious).Row).Sort _
    Key1:=.Range("l3"), Order1:=xlAscending, Header:=xlGuess
   .Range("k3:k" & .Cells(Rows.Count, "k").End(xlUp).Row).Name = "Service_prévision"
   .Range("n3:n" & .Cells(Rows.Count, "n").End(xlUp).Row).Name = "heures_prévision"
   .Range("s3:s" & .Cells(Rows.Count, "s").End(xlUp).Row).Name = "semaine_prévision"
   .Range("q3:q" & .Cells(Rows.Count, "q").End(xlUp).Row).Name = "Choix_Année_Prévision"
  End With
End Sub
mais bon complique pas mal cela impose de le mettre aussi a l'activation de l'user statistiques vu que l'on peut appeler aussi.... mais la on passe pas par la deactivation de la feuille

on complique tout quel est l'interet de passer par des users si on peut le faire directement
dans les 2 feuilles concernees avec tous les risque d'erreurs de frappe de noms qui sont pas dans la liste ect...

pour moi le plus simple
tu as donne la reponse

Merci à priori ça fonctionne, mais ej vais devoir verrouiller les accès aux feuilles aux utilisateurs certains doivent passer outre l'user
merci laetitia90
tu caches ces feuilles
attention tu les caches dans proprietees vba
2-xlSheetVeryHidden
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re, merci pour l'info, ej vais donc procéder comme cela,
peux tu me dire ce qui ne fonctionne pas là :
Private Sub Impression_Click()
If Fiche = "" Then Exit Sub
With Feuil5
.Activate
.PageSetup.PrintArea = .Range(Fiche).Address
Me.Hide
.PrintOut
End With
Me.Show
End Sub

quand je clic sur l'user printzone, je chois, et il buggue sur .activate

merci encore
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re ,
on peut pas activer ou selectionner une sheet non visible.. on peut quand même écrire dedans avec with...
par contre je me rappel plus d'ou tu le lances c'est user mais bon ???
Code:
Private Sub Impression_Click()
  If Fiche = "" Then Exit Sub
    With Feuil5
       .Visible = xlSheetVisible
      .Activate
       .PageSetup.PrintArea = .Range(Fiche).Address
       Me.Hide
       .PrintOut
    End With
  Me.Show
End Sub
idem apercu...

il faut penser quand tu fermes user

Code:
Private Sub Fermer_Click()
 Sheets("feuil5").Visible = xlSheetVeryHidden
 Unload Me
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = 1
End Sub
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re bonsoir Laetitia90, en effet je lance l'user print zone, et effectivement les sheets sont cachées afin de ne pas les bricoler, donc en ayant fait la modif ça marche, je te remercie, je te souhaite bon week end et merci encore pour ta disponibilité et ta gentillesse
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re, bonsoir le forum, aetitia90, encore un petit point. Sur l'user print zone j'avais mis un bouton avec une macro permettant d'activer l’aperçu avant impression, je lance l'user je choisi aperçu avant impression, et là il lance l'apercu, mais il n'est pas visible car l'user historique reste ouvert et ça ne fonctionne pas. Du coup j'ai mis dans la macro unload historique, puis historique.hide, mais pas de résultat que doit je faire afin que cela puisse s'afficher.

Private Sub Apercu_avant_impression_Click()
If Fiche = "" Then Exit Sub
With Feuil11
.Visible = xlSheetVisible
.Activate
.PageSetup.PrintArea = .Range(Fiche).Address
Me.Hide
.PrintPreview
End With
Me.Show
End Sub

merci
 

Fichiers joints

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re oups j'ai oublié mot de passe sur clic acces administrateur "formation"
merci
 

laetitia90

XLDnaute Barbatruc
Re : modifier une cellule en modifiant la bonne ligne

re je viens de voir ton M.P pas simple que ca sans reconstruire user historique vu que dans cette user j'utilise pas with a l'originaire je pouvais pas prevoir

une soluc... de depannage
en 1
vu qu'on part de l'user accueil unload me
Code:
Private Sub CommandButton16_Click()
  Unload Me
  Sheets("Feuil3").Select
  Historique.Show
End Sub
Private Sub CommandButton19_Click()
  Unload Me
  Sheets("Feuil5").Select
  Historique.Caption = "RECHERCHES    PAR   FOMATIONS   PROGRAMMEES"
  Historique.Label6.Caption = "RECHERCHES    PAR   FOMATIONS   PROGRAMMEES"
  Historique.Show
End Sub
dans historique quand on sort

Code:
Private Sub Fermer_Click()
  Unload Me
  Accueil.Show
 End Sub
plus dans historique quand call user pour impression

Code:
Private Sub Choix_fiches_Click()
  Me.Hide
  Print_Zones.Show
End Sub
dans user impression

Code:
Private Sub Apercu_avant_impression_Click()
  If Fiche = "" Then Exit Sub
   With Feuil11
    .Visible = xlSheetVisible
    .Activate
    .PageSetup.PrintArea = .Range(Fiche).Address
    Me.Hide
    .PrintPreview
  End With
  Me.Show
End Sub
par contre dans fermer de l'user impression

Code:
Private Sub Fermer_Click()
  Sheets("feuil11").Visible = xlSheetVeryHidden
  Unload Me
  If Historique.Label6.Caption = "                     RECHERCHES   Agents   par   Formations    Réalisées" Then
  Sheets("feuil3").Select
  Else
  Sheets("feuil5").Select
  End If
  Historique.Show
End Sub
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re désolé de revenir encore une fois vers toi,
lorsque je clic sur le bouton historique formation réalisé ou programmée, j'arrive sur le choix de la liste que je veux
une fois sélectionné par exemple noms, je sélectionne la première ligne et je clic sur copie lignes ça marche, marche contre si je sélectionne une autre ligne ça buggue. Il faut que cela soit la première.
L’idée est soit on ne laisse que la première ligne accessible afin d'activer les bouton, impression et autre, soit est il possible de choisir n’importe quelle ligne.
Autre chose également que j'ai remarqué, lorsque je sélectionne les lignes, que je les copie, puis je sélectionne l'impression quand j'ai fini, je doit fermer l'user historique pour accéder à nouveau au choix d'une personne.
Voilà
si tu as l'occasion de voir la chose , sinon ça restera en l'état
merci encore
 

altinea

XLDnaute Accro
Re : modifier une cellule en modifiant la bonne ligne

re avec le fichier c mieux, acces feuilles via bouton "acces administrateur" mdp "formation"
merci
 

Fichiers joints

Discussions similaires


Haut Bas