modifier une cellule en modifiant la bonne ligne

altinea

XLDnaute Accro
Bonsoir le forum,
Je sollicite votre aide afin de résoudre mon petit soucis.
Voilà vous trouverez en fichier joint un petit exemple de ce que je souhaiterai réaliser.
1 userform
1 combobox et 2 textbox, en fonction de la sélection de la combobox s'affichent dans les deux textbox ce ui figure dans les colonnes adjacentes de la colonne 1.
La texbox 3 elle je souhaiterai pouvoir entrer la valeur de mon choix, le seul inconvénient c'est que cela me modifie la ligne choisie.
je suis sous 2010 mais le fichier je lai enrgistré en version 2003 afin qu'il soit exploitable par le plus grand nombre
Merci pour votre aide
 

Pièces jointes

  • alti.xls
    50.5 KB · Affichages: 181
  • alti.xls
    50.5 KB · Affichages: 187
  • alti.xls
    50.5 KB · Affichages: 181

altinea

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

re voici une idée pour l’impression, user historique nouveau bouton pour appel user choix des fiches a imprimer.
j'ai essayé d'adapter un code, mais pas bon si tu peux voir, merci
 

Pièces jointes

  • alti-30.xlsm
    366.6 KB · Affichages: 118
  • alti-30.xlsm
    366.6 KB · Affichages: 120
  • alti-30.xlsm
    366.6 KB · Affichages: 115

laetitia90

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

re, pas eu le temps de regarder je vais être trés prise pendant quelques jours " stage" externe
le peu que j'ai vu..

Public Sub P(ByVal z As Long) en debut de module ....que tu appel par l'user

Code:
Private Sub Impression_Click()
Sheets("Feuil12").PageSetup.PrintArea = _
Sheets("Feuil12").Range(CStr("P" & z)).Address
Sheets("Feuil12").PrintPreview
'Sheets(Feuille).PrintOut
End Sub

si ta macro se nommer P cela va peut être crée pb...
avec Sheets("Feuil12").Range(CStr("P" & z)).Address' le Z =rien
fait une recherche sur le forum sur declarations macros public instructif

je maitrise pas du tout ces parametres d'impression

ps marche toujours pas
avec coche accés approuve au modele d'object du projet vba

il faut touhours dechoche ref manquant
 

altinea

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

re ok merci d'avoir pris le temps de regarder, à l'occasion si peux regarder, moi aussi je vais être en déplacement fin de semaine à l'étranger.
Par contre si tu peux me dire juste comment faire pour obliger le centrage des infos des listbox vers les cellules pour l'impression.
sur le code que tu m'avais donné.
Et me dire comment faire la meme programmation pour les 3 pages suivantes, zone définie, que j'ai crée en liste de nom afin de pouvoir les appeler à partir d'une macro.
Juste comprendre comment je peux reprendre le premier code et l'adapter aux autres merci
sinon, à ton retour.
Merci encore et bon stage, attention à la neige ne Isère ça tombe, surtout sur le Vercros vers Autrans je pense pas que sur Grenoble il y en ai beaucoup, quand j'habitais Echirolles je n'en ai pas souvent vu sur la route,
bonne soirée
 

laetitia90

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

re, j'ai copier toutes toutes les plages dans feuil12 eviter de nommer macro style copy false ect..vba pas aimer nom language c'est pour ca que la macro Copy plante
pour l'impression de plage nommées regarde sur le forum tu vas bien trouver un code interessant:)
 

Pièces jointes

  • alti-31.xlsm
    353.7 KB · Affichages: 99

altinea

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

re laetitia90, j'espère que tons tage se déroule bien, merci d'avoir répondu.
J'ai repris tes infos et j'ai repositionné les infos dans les bonnes cellules, par rapport à mes fiches. Par contre une aprtie du code je n'y ai pas touché car je ne sais pas comment la travailler.
donc l'idée est la suivante :
4 fiches Agent, Flux, Formation, Service.
en fait je souhaiterai obtenir en foction du choix opéré dans la listbox imprimer soit agent par agent,
soit la totalité des information relatives au flux, la formation ou le service.
Sur la fiche agent aps de probleme ça fonctionne, je souhaiterai obtenir la même chose mais pour chaque fiche.


Un autre point à voir c'est de forcer les cellules de receptions à etre centrée, car des données dans la meme colonne se retrouvent soit à droite et à gauche, afin que cela soit plus sympa il faudrait les centrer ou les formatater de façon a avoir les élements de colonnes positionnés de la meme facon


Pour l'impression ça fonctionne,Kjin m'as proposé une solution qui me satisfait

Merci encore
bonne journée à toi
 

laetitia90

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

re,j'ai mis le code pour les 4 fiches apres pour imprimer tu utilise le code que ta mis l'ami Kjin:) que je salue au passage
 

Pièces jointes

  • alti-31a.xlsm
    340.9 KB · Affichages: 185
  • alti-31a.xlsm
    340.9 KB · Affichages: 169
  • alti-31a.xlsm
    340.9 KB · Affichages: 166

laetitia90

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

re , aucun code ??? j'ai fais la mise en page sur la feuille12 directement
par contre dans le code pour effacer

Code:
.Cells(9, 1).Resize(400, 4).ClearContents

et non

Code:
 .Cells(9, 1).Resize(400, 4).Clear

clear efface tout couleur format ect...
 

altinea

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

re, merci pour les infos. Effectivement le formatage se fait directement, je n'avais pas vu ça comme ça, je pensai qu'il était lié au formatage de la listbox, du coup c'est lus pratique pour organiser l'impression et le positionnement des éléments sur les fiches.
Merci encore pour tout
je te souhaite un bon week end si c'est le cas, sinon une très bonne journée à toi
 

altinea

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

re j'espère que tout se passe bien pour toi,
je me permets de te solliciter encore sur un autre aspect, j'ai récupéré ce code que tu avais donnée sur un fil afin d'inhiber la croix rouge.

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True: MsgBox " pour fermer utiliser le bouton"
End Sub

est il possible par la meme occasion d'empecher le deplacement de l'user

merci
 

laetitia90

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

re, on le faire mais assez lourd oblige de tout facon il faut rajouter du code dans chaque user dans activate

type de code

Code:
Private Declare Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "User32" _
(ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long


Private Sub UserForm_Activate()
Dim hWnd As Long, exLong As Long
hWnd = FindWindowA(vbNullString, Me.Caption)
exLong = GetWindowLongA(hWnd, -16)
If exLong And &H880000 Then
SetWindowLongA hWnd, -16, exLong And &HFF77FFFF
Me.Hide: Me.Show
End If
End Sub

perso pour moi essai seulement ce code dans chaque user trés simple

Code:
Private Sub UserForm_Layout()
Me.Left = 0: Me.Top = 0
End Sub

pour la croix idem dans chaque user on peut ecrire comme cela aussi

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True: MsgBox "bouton"
End Sub
 

altinea

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

re oups je n'avais pas vu ta réponse,

'####Permets de désactiver l'utilisation de la croix roouge####
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then Cancel = True: MsgBox " Pour fermer veuillez effectuer un nouveau choix"
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then Cancel = True: MsgBox "bouton"
End Sub

quelle différence entre le premier code et le second, quelle est la plus efficace??

merci
 

Discussions similaires

Réponses
1
Affichages
77
Compte Supprimé 979
C