Microsoft 365 Petites questions sur des macros

lucarn

XLDnaute Occasionnel
Bonjour,
Voici mon problème.
Quelqu'un m'avait fait une macro pour la transposition en colonne.
Mes onglets s'appelaient tous Fiche1, Fiche2, etc.
La voici

Sub Transposerficheaction()
With Sheets("TRANSPOSE")
.Range(.Cells(3, 1), .Cells(.UsedRange.Rows.Count, 54)).Delete
End With
nf = 0
For Each f In Sheets
If Left(f.Name, 5) = "Fiche" Then
Set zone = f.Range(f.Cells(1, 1), f.Cells(54, 7))
Call col(zone, nf)
nf = nf + 1

End If

Next
End Sub

Sub col(zone, nf)
With Sheets("TRANSPOSE")
zone.Parent.Activate
zone.Copy
.Cells(nf * 8 + 3, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, TRANSPOSE:=True


End With
End Sub


Or, depuis, j'ai avancé et vu que mes onglets peuvent être une centaine, voire plus, j'ai décidé de les appeler F1, F2, etc.
J'ai donc modifier la phrase
If Left(f.Name, 5) = "Fiche" Then
en
If Left(f.Name, 5) = "F" Then
Et ça ne marche pas.
Est-ce que c'est parce qu'une seule lettre ne suffit pas ?

Mon problème, si ça ne peut pas fonctionner avec la lettre F, c'est que d'autres macros me créent des onglets automatiquement de type F1, F2 et qu'elles les reportent dans un onglet MENU. Et là, j'ai beau changer tous mes F en Fiche, je n'arrive à rien.
Dois-je préciser que je n'y connais rien....

Je vous mets mon fichier de travail auquel sont déjà associées plusieurs macros.
 

Pièces jointes

  • Fiches action MODELE.xlsm
    379.5 KB · Affichages: 5

Discussions similaires

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko