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

laetitia90

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

re,
vire le code concernant la date
c'est dommage dans excel2010 on peut mettre aussi DTPicker
Microsoft MonthView Control x.0
Microsoft Date and Time Picker Control x.0
il faudrait que une personne qui a 2010 te donne la marche a suivre pour installer tous cela

autrement le code ecrire sous ce format 18/09/12 ou 18/09/2012


Code:
Private Sub Tb_date_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Tb_mois = Month(Tb_date)
Tb_semaine = DatePart("ww", (Tb_date), vbMonday, vbFirstFourDays)
End Sub

on peut faire plus complexe pour eviter faute de frappe mais bon !!!
 
Dernière édition:

altinea

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

merci laetitia90, je vais m'en occuper dès ce soir, et je te tiens au courant
c'est domage que ca marche pas avec mDF calendar car j'avais réussi à l'installer, après le gros inconvénient est qu'il faut que tout fonctionne sur le reseau de l'entreprise et pour cela il faut avoir les droits et c'est deja plus complexe.
Merci encore pour ta générosité, ta gentillesse et ta disponibilité.
Je vais malgré tout voir comment installer calendar afin de faire fonctionner comme tu me l'avais proposé.
bonne journée à toi
 

altinea

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

re, encore un petit point lorsque je met la date il prends bien la date modifie le contenu des textbox, mais ne me l'inscrit pas dans les colonne 17 et 18 des feuilles formation realisées et formations programmées,
merci
 

laetitia90

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

re, bizarre c'est moi assez rapide en modifiant un peu ??

Code:
Private Sub ajout_Click()
 With Application
 .Calculation = xlCalculationManual: .ScreenUpdating = False: .DisplayAlerts = False
 a = IIf(Label12.Caption = "SAISIE DES FORMATIONS REALISEES", 3, 5)
 With Sheets("Feuil" & a)
 z = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
 For y = 1 To 10: .Cells(z, y) = Controls("Te" & y).Value: Next y
 For y = 1 To 5: .Cells(z, y + 10) = Controls("T" & y).Value: Next y
 .Cells(z, 16) = CDate(Tb_date): .Cells(z, 17) = Tb_mois.Value: .Cells(z, 18) = Tb_semaine.Value
 End With
 Cb_nomprenom = "": C1 = ""
 For Each j In Controls
 If TypeName(j) = "TextBox" Then j = ""
 Next j
.Calculation = xlCalculationAutomatic: .ScreenUpdating = True: .DisplayAlerts = True
End With
End Sub

PS pour la date il faut valider j'utilise exit
 
Dernière édition:

altinea

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

re bonsoir merci encore,
là ca bug sur la ligne

.Cells(z, 16) = CDate(Tb_date): .Cells(z, 17) = Tb_mois.Value: .Cells(z, 18) = Tb_semaine.Value

peut etre l'ajout de CDate

je suis vraiment désolé de tembeter encore
 

altinea

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

re bonsoir,
là c'est la fin c'est une macro qui fonctionne sans problème par contre je voulais savoir si tu as une astuce ou une méthode pour la réduire.
Je l'ai enregistrée via l'enregistreur de macro, je pense pas que cela soit la meilleure des solutions pour avoir quelque chose de très concis et tout aussi efficace

Sub ImportFTP()
'
' Macro7 Macro
'
'Workbooks.Open Filename:= _
'"U:\PUBLIC\CTC\COMMUN\Ressources Humaines\mouvements\BASE DONNEES FTP.XLS"
'
Application.Goto Reference:="R2C1:R500C10"
Selection.ClearContents



'Workbooks.Open Filename:="F:\Plan de formation\BASE DONNEES FTP.XLS"

Workbooks.Open Filename:= _
"U:\PUBLIC\CTC\COMMUN\Ressources Humaines\mouvements\BASE DONNEES FTP.XLS"


Columns("J:M").Select
Selection.EntireColumn.Hidden = False
Range("C3:D3").Select
Application.Goto Reference:="R3C3:R230C4"
Selection.Copy
Windows("1-Suivi du plan de formation 2012.xls").Activate
ActiveWindow.SmallScroll Down:=-258
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
Windows("BASE DONNEES FTP.XLS").Activate
Range("E3").Select
Application.Goto Reference:="R3C5:R230C5"
Application.CutCopyMode = False
Selection.Copy
Windows("1-Suivi du plan de formation 2012.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D2").Select
Windows("BASE DONNEES FTP.XLS").Activate
ActiveWindow.SmallScroll Down:=-21
Range("F3:K3").Select
Application.Goto Reference:="R3C6:R230C11"
Application.CutCopyMode = False
Selection.Copy
Windows("1-Suivi du plan de formation 2012.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("J2").Select
Windows("BASE DONNEES FTP.XLS").Activate
Columns("K:L").Select
Selection.EntireColumn.Hidden = True
Range("P3").Select
Application.Goto Reference:="R3C16:R230C16"
Application.CutCopyMode = False
Selection.Copy
Windows("1-Suivi du plan de formation 2012.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Windows("BASE DONNEES FTP.XLS").Activate
ActiveWindow.Close
End Sub
Sub fixeFormules()
'
' FixeFormules Macro
'

'
Range("B3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC[-1],Agents,2,FALSE)),"""",VLOOKUP(RC[-1],Agents,2,FALSE))"
Range("C3").Select
ActiveCell.FormulaR1C1 = ""
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:H3"), Type:=xlFillDefault
Range("B3:H3").Select
Range("B3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,2,FALSE)),"""",VLOOKUP(RC[-1],Agents,2,FALSE))"
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:H3"), Type:=xlFillDefault
Range("B3:H3").Select
Range("B3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,2,FALSE)),"""",VLOOKUP(RC1,Agents,2,FALSE))"
Range("B3").Select
Selection.AutoFill Destination:=Range("B3:H3"), Type:=xlFillDefault
Range("B3:H3").Select
Range("C3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,3,FALSE)),"""",VLOOKUP(RC1,Agents,3,FALSE))"
Range("D3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,4,FALSE)),"""",VLOOKUP(RC1,Agents,4,FALSE))"
Range("E3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,8,FALSE)),"""",VLOOKUP(RC1,Agents,8,FALSE))"
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,9,FALSE)),"""",VLOOKUP(RC1,Agents,9,FALSE))"
Range("G3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,7,FALSE)),"""",VLOOKUP(RC1,Agents,7,FALSE))"
Range("H3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,Agents,10,FALSE)),"""",VLOOKUP(RC1,Agents,10,FALSE))"
Range("H4").Select
End Sub


merci beaucoup
 

altinea

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

Bonjour le forum, Laetitia90,
Tout d'abord merci pour votre aide, et un grand merci à Laetitia90 qui m'as aidé et a passé du temps, de la disponibilité et tout cela avec une grande gentillesse et professionnalisme. Cela m'a permis de construire mon projet, certainement il devra évoluer une fois que certains utilisateurs s'en serviront.
Je voulais juste préciser que dans le choix des dates le calendrier qui s'affiche est celui de mDF Calendar, il est donc judiceux de suivre les information d'ajout de cette macro.
Pour le reste j'ai essayé de commenter au maximum les lignes de codes.
J'espère que le travail effectué pourra servir à certain.
J'ai décidé de procéder ainsi car souvent les projets ou les demandes faites sur le forum, ne sont pas finalisées, à savoir que le demandeur ne met pas son travail final sur le fil. C'est dommage car cela permet à chacun d'aller voir la réalisation jusqu'au bout et de mieux comprendre le travail qu'il y a eu.

Si certains d'entre vous voient des améliorations ou ont des idées de développement je suis preneur
Merci encore
bon dimanche
MERCI laetitia90
 

Pièces jointes

  • alti-10-final.xlsm
    141.2 KB · Affichages: 47

altinea

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

Re bonsoir le forum, après cette courte pause, je reviens vers toi Laetitia90 pour savoir si tu pourrai m'aider sur cette nouvelle demande.
J'ai Ajouté un nouvel userform, à partir duquel en fonction du choix de la personne ou de la formation celui ci me restituerai les données, j'ai mis en commentaire dans l'userform3.
Pourrai tu m'aider là dessus merci encore
 

Pièces jointes

  • alti-10-final1.xlsm
    172.6 KB · Affichages: 82

altinea

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

Re Bonsoir,
Laetitia90, si as le temps et que tu veux bien regarder encore une fois mon fichier.
Voilà les éléments que j'ai remarqué. J'ai repris plusieurs fois le fichier en repartant de zéro et en recopiant le code.En mettant à jours les USF.
Le premier point est qu'avant le dernier enregistrement j'étais à environ 300 ko pour le fichier rempli avec les informations dans les feuilles. J'ai ajouté deux usf et cel est monté à 1,08 Mo, c'est peu etre normal??
Les autres points :
-Usf formation réalisées et usf formations programmées, lors de la validation, il met longtemps avant de passer sur l'effacement des cellules et de redonner la main pour activer le bouton fermer.

j'ai ajouté une ligne de code dans la formation réalisées afin que lorsque je valide il tri par ordre alphabetique lors de l'enregistrement de la feuille.

Les deux derniers points :
usf3 je souhaiterai faire une recherche soit par agent afin de connaitre les formations suivie par celui ci dans la textbox et idem poiur le choix d'une formation savoir quel agent l'a suivie
J'ai repris le meme principe que sur les autres, mais je n'ai pas su associer à la textbox

usf4, j'aurai souhaité pouvoir modier les parametres agents que cela modifie la ligne, j'ai réussi à faire mais il me crée une linge supplémentaire avec les infos

Merci pour ton aide
 

Pièces jointes

  • alti-12.zip
    499.8 KB · Affichages: 44

Discussions similaires

Réponses
1
Affichages
78
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo