Comparer les noms des dern feuilles de 2 fichiers

G

Guy

Guest
Bonjour,

Je souhaite que ma macro s’exécute à une condition :


Uniquement si le noms de chacune des dernières feuilles (les plus à droite) du fichier A et du fichier B sont les mêmes.




N.B : les 2 fichiers sont déjà ouverts à ce stade





Essai de code :




Windows('A.xls').Activate

Sheets(Sheets.Count).Activate

Dim k As Integer

ActiveSheet.Name = k



Windows('B.xls').Activate

Sheets(Sheets.Count).Activate


If ActiveSheet.Name = k Then





Ca ne marche pas ??


Merci d’avance

Guy
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Guy, bonjour le forum,

je te popose ce code :

'déclare les variables avA, deA, avB et deB
Dim avA As String, deA As String
Dim avB As String, deB As String

'définit les variables
avA = Workbooks('A.xls').Sheets(Sheets.Count - 1).Name 'avant dernier onglet du classeur A.xls
deA = Workbooks('A.xls').Sheets(Sheets.Count).Name 'dernier onglet du classeur A.xls
avB = Workbooks('B.xls').Sheets(Sheets.Count - 1).Name 'avant dernier onglet du classeur B.xls
deB = Workbooks('B.xls').Sheets(Sheets.Count).Name 'dernier onglet du classeur B.xls

'condition : les deux derniers onglets de chaque classeur portent le même nom
If avA = avB And deA = deB Then
'ta macro
End If
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Guy, bonsoir le forum,

Je viens de me rendre compte que j'avais très mal compris ta question puisque je pensais que tu voulais les deux dernières feuilles de chaque classeur alors que tu ne voulais que la dernière. En fait ton code au départ était bon sauf au niveau du type de la variable k qui devait être déclarée comme String et non comme Integer. Le mien pourrait se simplifier comme ça :


If Workbooks('A.xls').Sheets(Sheets.Count).Name = Workbooks('B.xls').Sheets(Sheets.Count).Name Then
'ta macro
End If
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 914
Membres
103 983
dernier inscrit
AlbertCouillard