IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modifier l'orientation de la sauvegarde de mon USF


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut Modifier l'orientation de la sauvegarde de mon USF
    Bonjour le forum,
    Je vous explique d'abord mon fichier
    J'ai 1 USF avec 1 ListView, 1 ComboBox et 9 TextBox.
    Un double clic sur un département m'ouvre l'USF avec dans la listView tous les noms qui font partie du département.
    En sélectionnent une ligne dans la listView je peux modifier, supprimer le contenu des TexBoxs et en sélectionnent une ligne vide je peux ajouter un nouveau nom pour mon département.
    Je sauvegarde mes données à l'aide du bouton "SAUVEGARDE"

    Mon problème:
    Mon fichier est partager avec des collaborateurs et certain préfère travailler avec l'aide de l'USF et d'autre préfèrerais travailler directement sur la feuille qui est actuellement masquer.
    J'aimerais afficher ma feuille et changer l'orientation de ma sauvegarde qui est en colonne pour la passer en ligne pour une meilleure utilisation.
    Et aussi si cela est possible, quand je rentre des données dans mes TextBoxs je voudrais que celles-ci s'enregistrent automatiquement
    sans être obliger de cliquez sur le bouton "SAUVEGARDER".

    Ma nouvelle destination
    pour le 1er département: B4-J4
    pour le 2ème département: K4-S4
    et ainsi de suite…

    Mon code actuel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     'SAUVEGARDE'
    Private Sub CommandButton2_Click()
    With Application
            .Calculation = xlManual
            .MaxChange = 0.001
        End With
        ActiveWorkbook.PrecisionAsDisplayed = False
     
    ' Modifier dans la listview
    Dim I As Integer
    Dim J As Integer
     
      I = Me.TextBox10
       Me.ListView1.ListItems(I).Text = Me.TextBox1
      For J = 1 To Me.ListView1.ColumnHeaders.Count - 1
        Me.ListView1.ListItems(I).ListSubItems(J).Text = Me.Controls("Textbox" & J + 1)
      Next J
     
     
    ' Sauvegarder
    Dim Lg As Long
    Dim Ws As Worksheet
     
      If Me.ComboBox1.ListIndex = -1 Then Exit Sub
      Set Ws = Sheets("Liste")
      Lg = Me.ComboBox1.Column(1)
      Application.ScreenUpdating = False
      With Me.ListView1
        For I = 1 To .ListItems.Count
          Ws.Cells(Lg, "B") = .ListItems(I)
          Ws.Cells(Lg, "C") = .ListItems(I).ListSubItems(1)
          Ws.Cells(Lg, "D") = .ListItems(I).ListSubItems(2)
          Ws.Cells(Lg, "E") = .ListItems(I).ListSubItems(3)
          Ws.Cells(Lg, "F") = .ListItems(I).ListSubItems(4)
          Ws.Cells(Lg, "G") = .ListItems(I).ListSubItems(5)
          Ws.Cells(Lg, "H") = .ListItems(I).ListSubItems(6)
          Ws.Cells(Lg, "I") = .ListItems(I).ListSubItems(7)
          Ws.Cells(Lg, "J") = .ListItems(I).ListSubItems(8)
          Lg = Lg + 1
        Next I
      End With
    With Application
            .Calculation = xlAutomatic
            .MaxChange = 0.001
        End With
        ActiveWorkbook.PrecisionAsDisplayed = False
    End Sub
     
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
    Dim I As Integer
    Dim J As Integer
     
      I = Me.ListView1.SelectedItem.Index
      Me.TextBox1 = Me.ListView1.ListItems(I).Text
      For J = 1 To Me.ListView1.ColumnHeaders.Count - 1
        Me.Controls("Textbox" & J + 1) = ListView1.ListItems(I).ListSubItems(J).Text
      Next J
      Me.TextBox10 = I                 ' Sauvegarde de la ligne sélectionnée
    End Sub
     
    Private Sub UserForm_Initialize()
    Dim Lg As Long
    Dim Ws As Worksheet
    Dim J As Long
     
      Set Ws = Sheets("Liste")
     
      With Me.ListView1
      'Titres des colonnes
      With .ColumnHeaders
        .Clear
        'Ajout des colonnes
        .Add , , "Code", 25, lvwColumnLeft
        .Add , , "Noms", 155, lvwColumnCenter
        .Add , , "Kg", 60, lvwColumnCenter
        .Add , , "PU", 40, lvwColumnCenter
        .Add , , "Condit.", 50, lvwColumnCenter
        .Add , , "Nombre", 50, lvwColumnCenter
        .Add , , "Nombre TT", 32, lvwColumnCenter
        .Add , , "Lieu Dest.", 32, lvwColumnCenter
        .Add , , "Total envoi", 32, lvwColumnCenter
      End With
        .View = lvwReport                                                    
        .Gridlines = True  
        .FullRowSelect = True       
        .LabelEdit = lvwManual          
      End With
     
      Me.TextBox10.Visible = False
      Me.TextBox10 = ""
     
      Init = True
      With Me.ComboBox1
        .ColumnCount = 2
        .ColumnWidths = "-1;0"
        For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
          .Value = Ws.Range("A" & J)
          If .ListIndex = -1 Then
            .AddItem Ws.Range("A" & J)
            .List(.ListCount - 1, 1) = J
          End If
        Next J
        .ListIndex = -1
        Init = False
        .Value = ActiveCell
      End With
     
    'SpinButton1.Max = Application.CountA
    End Sub
    Je vous remercie d'avance de l'aide que vous pourrez m'apporter.
    Stéphanois78

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Et un massage au pieds ?

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut
    Re Bonjour le Forum,

    A part le massage au pieds de EngueEngue.
    Si quelqu’un à une solution à ma demande cela serais sympa.
    J'ai essayer de trouver le code mais sans succès.
    Merci

    Stéphanois78

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    EngueEngue t'as oublié de proposer aussi le Mars !

    De mon côté j'aurais fait appel à la marmotte …

    Sinon la problématique mériterait d'être exposée clairement & exhaustivement …

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2013
    Messages : 12
    Par défaut
    Bonsoir Marc-L,
    Si cela n'est pas assez clair, je peux vous joindre un exemple de mon fichier.
    Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/12/2008, 15h48
  2. Modifier la couleur de l'interface de mon application
    Par Bmouna dans le forum Débuter
    Réponses: 2
    Dernier message: 02/07/2008, 13h58
  3. Réponses: 3
    Dernier message: 29/08/2007, 09h11
  4. Réponses: 7
    Dernier message: 10/03/2007, 17h29
  5. Réponses: 9
    Dernier message: 04/05/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo