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 :

update automatique cellules


Sujet :

Macros et VBA Excel

  1. #21
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Ok quand j'ai regardé sur internet c'est ce que cru comprendre quand j'ai regardé sur internet.
    Du coup est ce que y a une solution envisageable dans mon cas ?

  2. #22
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Oui bien sûr, c'est juste que c'est moins intuitif

    en gros, les listobjects c'est cool, tu peux naviguer sans te soucier de :

    - sa position dans la feuille
    - ses dimensions, la zone de ses données, de ses titres, de ses totaux, ses colonnes etc... car le listobject possède des outils et des méthodes pour les manipuler sans avoir à les calculer


    donc il faut tout faire à la main
    déjà, pour des raisons pratiques, il faut que tes tableaux commencent tous à la même ligne
    tu avais parlé de la ligne 9, c'est toujours le cas ?

  3. #23
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Oui rien n'a changé, l'entête à la ligne 9 et les données à partir de la ligne 10.

  4. #24
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Je suis reparti du classeur que tu as mis dans ton message #14

    sans toucher aux feuilles et aux données, j'ai juste modifié un peu le code du userform

    voici l'ensemble du module de ton userform après modification, testée et fonctionnelle sur ce fichier là

    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
    Private Sub CommandButton_Fermer_Click()
        Unload Me
    End Sub
    Private Sub ComboBox_ID_Change()
     
    With Me
        ' gestion des identifiants inexistants
        If .Combobox_ID.ListIndex = -1 Then
            .Combobox_ID.Value = ""
            .TextBox_NOM.Value = ""
            .TextBox_PRENOM.Value = ""
            .TextBox_RESIDENT.Value = ""
            Exit Sub
        End If
     
        ' récupération du nom et du prénom lié à l'identifiant choisi dans le menu déroulant
        .TextBox_NOM.Value = Worksheets("Synthèse").Cells(.Combobox_ID.ListIndex + 10, 4)
        .TextBox_PRENOM.Value = Worksheets("Synthèse").Cells(.Combobox_ID.ListIndex + 10, 5)
        .TextBox_RESIDENT.Value = Worksheets("Synthèse").Cells(.Combobox_ID.ListIndex + 10, 7)
    End With
     
    End Sub
     
    Private Sub CommandButton_MODIFIER_Click()
    With Me
        ' gestion du clic sur le bouton alors qu'on a rien choisi
        If .Combobox_ID.Value = "" Then
            MsgBox "Veuillez choisir un identifiant et effectuer les modifications souhaitées"
            Exit Sub
        Else
            ' modification des nom/prénoms dans les 13 tableaux
            For i = 1 To 13
                Worksheets(i).Cells(.Combobox_ID.ListIndex + 10, 4).Value = .TextBox_NOM.Value
                Worksheets(i).Cells(.Combobox_ID.ListIndex + 10, 5) = .TextBox_PRENOM.Value
                Worksheets(i).Cells(.Combobox_ID.ListIndex + 10, 7) = .TextBox_RESIDENT.Value
            Next i
        End If
    End With
     
    End Sub
     
    Private Sub UserForm_Initialize()
    ' chargement de la liste des identifiants du tableau de synthèse
    Dim Tablo
    With Worksheets("Synthèse")
        Tablo = .Range(.Cells(10, 2), .Cells(.Rows.Count, 2).End(xlUp))
    End With
    Me.Combobox_ID.List = Tablo
    Application.ScreenUpdating = True
    End Sub

  5. #25
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    ça marche parfaitement.
    j'attend impatiemment demain pour le testé sur les machine qui tourne sur office 2007 et je vous tiens au courant.
    Par avance merci encore.

  6. #26
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour !

    Citation Envoyé par joe.levrai Voir le message
    Oui les listobjects ont été implémentés à partir de la version 2007
    ce ne sera pas compatible pour des versions antérieures
    Non, déjà présent sous 2003 !

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #27
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    je reviens avec toujours vc mes tableaux. Actuellement j'ai un macro que j'appel sur toutes les feuilles de janvier à la synthèse pour qu'il fasse la copie du mois précédente.
    j'aimerai savoir si c'est possible d'avoir un unique macro au niveau de la feuille synthèse par exemple pour qu'il fasse tout en même temps au lieu de le faire mois par mois.
    Mon Macro:
    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
    Option Explicit
    Sub SoldePrecedant()
     
        'Call ActivationFeuille(ActiveSheet.Name)
     
        'Call DateExerciceF(ActiveSheet.Name)
     
     
        Dim IdCurr, IdPrec As Integer
        Dim lgDLprec, lgDLcurr As Long
        Dim wksCurr, wksPrec As Worksheet
     
        Application.ScreenUpdating = False
        Application.Calculation = xlCalculationAutomatic
     
        Set wksCurr = ActiveWorkbook.ActiveSheet
     
        If wksCurr.Index > 1 Then Set wksPrec = ActiveWorkbook.Worksheets(wksCurr.Index - 1)
        If wksCurr.Index = 1 Then Set wksPrec = ActiveWorkbook.Worksheets(12)
     
        lgDLprec = wksPrec.Range("B65536").End(xlUp).Row
        lgDLcurr = wksCurr.Range("B65536").End(xlUp).Row
     
     
            If Len(wksCurr.Range("B10").Value) <> 0 And Len(wksCurr.Range("D10").Value) <> 0 Then
                MsgBox " ATTENTION! La copie de la situation précédante écrase les données de cette feuille", _
                        vbExclamation, "COPIE DE LA SITUATION PRECEDANTE"
                If MsgBox("Confirmez-vous cette opération ?", vbYesNo, "COPIE DE LA SITUATION PRECEDENTE   ") = vbYes Then
     
                    wksCurr.Range("B10:H" & lgDLprec) = wksPrec.Range("B10:H" & lgDLprec).Value
                    wksCurr.Range("I10:I" & lgDLprec) = wksPrec.Range("V10:V" & lgDLprec).Value
                End If
            Else
                wksCurr.Range("B10:H" & lgDLprec) = wksPrec.Range("B10:H" & lgDLprec).Value
                wksCurr.Range("I10:I" & lgDLprec) = wksPrec.Range("V10:V" & lgDLprec).Value
            End If
            'Call formater(wksCurr)
           'wksCurr.Range("I10:I" & lgDLcurr + 1).NumberFormat = "# ##0.00"
           'wksCurr.Range("H10:H" & lgDLcurr + 1).NumberFormat = "DD/MM/YYYY"
     
        'lockFeuil (wksCurr.Name)
     
        Application.ScreenUpdating = True
        Application.Calculation = xlCalculationAutomatic
     
    End Sub

Discussions similaires

  1. Update Automatique-script Sql
    Par _shuriken_ dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 19/06/2007, 17h17
  2. [VBA-E] - Selection automatique Cellules apres des tris
    Par michel2662 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/04/2007, 10h21
  3. un update automatique
    Par nutix2003 dans le forum Général Java
    Réponses: 9
    Dernier message: 25/01/2007, 12h29
  4. [AJAX] Update automatique de champs tableau
    Par cic_flo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/10/2006, 16h59

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