mise à jour fichier

  • Initiateur de la discussion Initiateur de la discussion nickytchao
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

nickytchao

Guest
N.B: ne vous arrêtez ici que si vous avez le temps de lire lol ;-)

voilà le problème: j'ai crée un programme de 'gestion de données' via Excel & VBA il y a 2 ans.
Il est utilisé pour créer des fiches techniques pour les produits de ma boutique.
Des fiches ont été crées et depuis les choses ont évolué, les macros à l'ouverture du fichier ont changé.
Il faudrait que je puisse mettre à jour les macros lancées à l'ouverture d'une ancienne fiche.
Je suis pas si je suis très clair.
Avant à l'ouverture du fichier je lançais par exemple les macros a et b,
maintenant je voudrais lancer a, b et c....
Mais je ne sais pas comment modifier les lignes vba du fichier 'en live'
 
Salut Nickytchao,

Ouais c'est vrai t'es pas très clair, surtout sur le côté 'live'...là je sèche !
Nan en fait j'vois pas bien ton problème:
Tu ouvres XL puis ton fichier qui contient les macros. Hop direction le VBE via ALT+F11 et tu modifies tes macros !!!

Bon, j'crois pas que la soluce soit la bonne mais si tu pouvais en dire un peu plus ce serait mieux.

A+
 
Ouep... j'me doutais que c'était pas clair mais c'est pas trop grave j'ai trouvé un moyen de contourner l'pb...
Mais là je butte ancore....
La macro suivante est lancée par le fichier nommé 'Donnessai.xls'
Mon but est de supprimer les feuilles clients, réels et données de tous les fichiers .xls ouverts, sauf pour 'Donnessai.xls', qui contient aussi une feuille nommée 'données.xls'
A la fin on vient copier le feuille 'Données' du fichier 'Donnessai.xls'*
Le pb c'est que l'opération s'effectue aussi pour le fichier Donnessai, ce que je veux éviter...

Code:
[size=2]Sub copie_feuille()
    Application.DisplayAlerts = False
    For Each Openworkbook In Application.Workbooks
        If Openworkbook.Name = 'Donnessai' Then
        Else
            For Each Availablesheet In Openworkbook.Worksheets
                If Availablesheet.Name = 'Clients' Then
                    Sheets('Clients').Delete
                ElseIf Availablesheet.Name = 'Réels' Then
                    Sheets('Réels').Delete
                ElseIf Availablesheet.Name = 'Données' Then
                    Sheets('Données').Delete
                    
                End If
            Next Availablesheet
            Call Copie_donnees(Openworkbook)
            
        End If
    Next Openworkbook
    Application.DisplayAlerts = True
End Sub[/size]


J'ai essayé aussi en mettant If Openworkbook.Name = 'Donnessai.xls', apparemment le pb vient pas de la
:unsure:
 
oups ...un peu merdé la mise en page :whistle:



Code:
Sub copie_feuille()
    Application.DisplayAlerts = False
    For Each Openworkbook In Application.Workbooks
        If Openworkbook.Name = 'Donnessai' Then
        Else
            For Each Availablesheet In Openworkbook.Worksheets
                If Availablesheet.Name = 'Clients' Then
                    Sheets('Clients').Delete
                ElseIf Availablesheet.Name = 'Réels' Then
                    Sheets('Réels').Delete
                ElseIf Availablesheet.Name = 'Données' Then
                    Sheets('Données').Delete
                    
                End If
            Next Availablesheet
            Call Copie_donnees(Openworkbook)
            
        End If
    Next Openworkbook
    Application.DisplayAlerts = True
End Sub
 
Re-Salut,

Dans ton code un If suivi direct d'un Else c'est pas bô bô, utilise plutôt ça:
Code:
If Not .... Then
et vire le Else

Aurais-tu la gentilesse de mettre un p'tit Select Case en lieu et place de If..ElseIf... genre:
Code:
Select Case Availablesheet.Name
    Case 'Clients','Réels','Données'
      Sheets(Availablesheet.Name).Delete
    Case Else
       'Ne rien faire ou autre chose :)
End Select

HTH
 
Bonjour NickyTchao, re HTH, le Forum

Bon alors tout à fait OK pour le If Not... et le Select Case dans ce cas là, en fait j'en étais resté au poste précédent mais je viens de raffraichir...

Par contre zéro pointé pour les déclarations de Variables !!!

Dim Openworkbook As Workbook
Dim Availablesheet As Worksheet

Bon Aprèm
@+Thierry
 
Salut _Thierry,

HTH c'est Hope This Helps déformation lié aux posts sur des sites anglophones...

Et pour une fois que j'parle pas des variables...ben hop, le _Thierry lui l'oubli pô 🙂

En fait y'a un truc très chiant, c'est que je suis déconnecté du site assez souvent (j'dois mettre trop longtemps à répondre) et donc j'apparaît en visiteur en non plus en loggé 🙁

Message édité par: mrexcel, à: 09/03/2005 14:41
 
Merci mes gens, ca roule pour ça, j'étais persuadé d'avoir tenté le coup avec 'Donnessai.xls' et ca avait merdé, mais le principal c'est que la ca marche...
Pour ce qui est du If Not ben ouai c'est plus bô merci bien ;-)
Le select case effectivement faut j'revois un p'ti peu la propreté d'mon programme lol ahlala les écoles généralistes v'la c'ke ca fait on fai de tout mais pas bcp... bref pas là pour parler d'ca!
Quant aux variables elles sont déclarées plus haut ca ca va j'ai pa oublié ;-)
@ bi1tô pour de nouvelles aventures avec Nickytchao!
Merci!
 
Bonsoir NickyTchao MrXL,

Tiens je reviens sur ce Fil... Un truc me chiffonne :

Quant aux variables elles sont déclarées plus haut ca ca va j'ai pa oublié ;-)

Comment ça plus Haut ??? ...

En dehors de la Sub copie_feuille()... Attention j'ai déjà enguirlandé un autre intervenant qui avait des gros soucis à cause de la même chose Lien supprimé, si vos Variables n'ont pas d'Utilité Publique, elles n'ont strictement rien à faire en dehors de toutes Sub ou Function...

Bonne Soirée
@+Thierry

Message édité par: _Thierry, à: 09/03/2005 18:47
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
624
W
  • Question Question
Microsoft 365 Insertion de photo
Réponses
14
Affichages
688
Retour