Mettre à jour des feuilles Excel sans les classer à nouveau

ramo1985 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour
on m a aidé a élaborer ce travail sur ce forum sauf que on faisant entrer d'autre élément dans le tableau et on appuis sur le bouton d'autre feuilles sont crées au lieu de mettre a jour le tous et ajouter les nouvelles feuilles uniquement

merci pour l’intérêt que vous allez accorder a mon problème

https://cjoint.com/c/ILClNObo1eG
A voir également:

3 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Pour créer les feuilles ajoutées
https://cjoint.com/c/ILCnMLMRjzB

Cdlmnt
1
ramo1985 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
merci
sauf que c est exactement ce que je vx éviter je veux en remplissant d autre lignes dans la feuille liste ou que je modifie des truc en appuyant sur le bouton les feuilles déjà crées se mettent a jour et les nouvelles s’édite
j'ai un exemple déjà fait mais je n'arrive pas a l'adapter a mon fichier voila son liens
https://cjoint.com/c/ILCqrrTWkyG
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Pour faire ce que tu veux il faut supprimer les feuilles et ensuite les recréer . Voir ceci pour faire une boucle sur toutes les feuilles:

https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/#LI

et cela pour supprimer les feuilles:

https://silkyroad.developpez.com/VBA/FeuilleDeCalcul/#LII-A-10

Ce qui donne:

'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'DisplayAlerts = False permet de ne pas afficher le message d'alerte qui survient
'lorsque l'on supprime un onglet.
Application.DisplayAlerts = False
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    If Ws.Name <> "Feuil1" Then 'adapter le nom de feuille a ne pas supprimer
Ws.Delete
End If
Next Ws
'Ne pas oublier de réinitialiser DisplayAlerts à True
Application.DisplayAlerts = True


ensuite tu mets ta macro pur créer tes feuilles

voilà c'est tout simple



0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
et pour ton cas:

Sub toto()
'Déclare la variable objet Worksheet
Dim Ws As Worksheet
'DisplayAlerts = False permet de ne pas afficher le message d'alerte qui survient
'lorsque l'on supprime un onglet.
Application.DisplayAlerts = False
'Boucle sur toutes les feuille de calcul du classeur. Les onglets graphiques ne sont pas pris
'en compte.
'ThisWorkbook correspond à l'objet classeur contenant la macro
For Each Ws In ThisWorkbook.Worksheets
    If Ws.Name <> "Base" And Ws.Name <> "Releve" Then  'adapter le nom de feuille a ne pas supprimer
Ws.Delete
End If
Next Ws
'Ne pas oublier de réinitialiser DisplayAlerts à True
Application.DisplayAlerts = True
'  ***  10 Ventôse CCXIX  ***  Roger fecit.  ***
'
'Référence à la biliothèque Microsoft Scripting Runtime (scrrun.dll) requise.
'"dat" est une plage nommée de la feuille "Base" :
'=DECALER(Base!$A$1;;;MAX((DECALER(Base!$A$1;;;NEnr;1)<>"")*LIGNE(DECALER(Base!$1:$1;;;NEnr;)));MAX((DECALER(Base!$A$1;;;;NChp)<>"")*COLONNE(DECALER(Base!$A:$A;;;;NChp))))
'Adapter les paramètres nommé "NEnr" (nb. max d'enregistrements) et "NChp" (nb. max de champs) si besoin est.
'la suite de ton code


Voilà
0