Bonsoir à tous. Il faut que je créé un programme permettant à un utilisateur d'entrer un nom afin de créer une nouvelle feuille excel et de copier les données liées à cet utilisateur (peut etre présent plusieurs fois).
Voici mon programme: ______________________________________________________________ Private Sub Ok_Click() If nom = "" Or nom = " " Then MsgBox ("Veuillez entrer un nom d'utilisateur pour continuer" ), vbOKOnly GoTo fin Else For ligne = Worksheets("journal" ).UsedRange.Rows.Count To 1 Step -1 If UCase(Worksheets("journal" ).Cells(ligne, 6).Value) = UCase(nom.Value) Then GoTo suite End If Next MsgBox ("L'utilisateur n'a pas ouvert de session" ), vbOKOnly GoTo fin End If suite: ActiveWorkbook.Worksheets.Add ActiveSheet.Name = nom Range("A1:E1" ).Select ActiveCell.Offset(0, 0).Value = "Id" ActiveCell.Offset(0, 1).Value = "ouvertureate" ActiveCell.Offset(0, 2).Value = "ouverture:heure" ActiveCell.Offset(0, 3).Value = "fermeture date" ActiveCell.Offset(0, 4).Value = "fermeture heure" For ligne = Worksheets("journal" ).UsedRange.Rows.Count To 1 Step -1 If UCase(Worksheets("journal" ).Cells(ligne, 6).Value) = UCase(nom.Value) Then 'copier toute la ligne dans la ligne 1ere ligne vide de la feuille nom End If Next fin: Unload utilisateur End Sub _____________________________________________________________________
Merci d'avance
Avec mon programme j'arrive à créer une nouvelle feuille et à remplir les titres de cette feuille. J'arrive aussi à trouver les lignes contenant le nom saisi par l'utilisateur (par msgbox) mais je n'arrive pas à les copier dans la feuille crée.
Merci de ton aide.
Avec mon programme j'arrive à créer une nouvelle feuille et à remplir les titres de cette feuille. J'arrive aussi à trouver les lignes contenant le nom saisi par l'utilisateur (par msgbox) mais je n'arrive pas à les copier dans la feuille crée.
Merci de ton aide.
Tout d'abord je voulais vous remercier tous pour votre aide. Bon alors voilà, en regardant un peu partout sur internet g réussi à trouver une commande me permettant de copier les lignes que je voulais. Je l'ai donc adapté à mon programme mais ca ne marche pas. Quand je l'exécute ca me marque "erreur d'exécution '13':incompatibilité de type pour la ligne Worksheets("journal" ).Rows(ligne).Range("A1:E1" ).Copy (Worksheets(nom).Rows(numlig).Range("A1:E1" )) (ligne 18 de mon programme) par contre j'ai essayé de copier dans une feuille que j'ai appellé au préalable "Feuille1" et là il veut bien me copier ce que je lui demande. Apparement c'est la variable nom qu'il n'apprécie pas mais j'en ai besoin car le nom de la feuille de destination est le nom entré par l'utilisateur (lignes 18 et 19). Je ne sais pas pourquoi cela ne marche pas ni comment y remédier.
Code :
Private Sub Ok_Click()
Dim numlig As Integer
numlig = 1
If nom = "" Or nom = " " Then
MsgBox ("Veuillez entrer un nom d'utilisateur pour continuer" ), vbOKOnly
GoTo fin
Else
ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = nom
Range("A1" ).Value = "Id"
Range("B1" ).Value = "ouverture:date"
Range("C1" ).Value = "ouverture:heure"
Range("D1" ).Value = "fermeture:date"
Range("E1" ).Value = "fermeture:heure"
For ligne = 1 To Worksheets("journal" ).UsedRange.Rows.Count
If UCase(Worksheets("journal" ).Cells(ligne, 6).Value) = UCase(nom.Value) Then
comment faire un programme qui:
calcul une volatilité(d une action par ex) en ayant une interface avec l utilisateur qui:
demande a l utilisateur sur combien de jours il veut sa volatilité et sur quelle action et a partir de quel jour il l a veut.(car je possede des feuilles excels de 20 actions sur 9 ans chacune soit pres de 2250 dates)
merci beaucoup a celui qui trouve et a ceux qui vont chercher...
Merci de créer ton propore sujet, et de ne pas polluer celui-ci. Dans ton nouveau sujet, tâche de demander plus d'aide sur la programmation et non pas quelque chose de tout fait !