Excel97 : comment faire un genre d' abcdaire automatique ?

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 !

colablues

XLDnaute Nouveau
Bonjour,
je suis débutant, mais je me débrouille quand meme.
Je fait appel a vous car j'aurai aimer apprendre.
Je m'explique : j'ai une fichier excel qui est une liste et qui utilise deja quelques formule pour me simplifier la vie.
Tout marche sans probleme, mais voila, ce fichier est une sorte de petite base de donnée pour une collection de cd,
et j'aurais aimer faire une chose : une sorte d'abcdaire.
Plusieurs feuilles qui vont de # à Z (# ABCD.....) et qui ce mettrait a jour seul, juste quand je met a jour ma feuille principal. Je vous aurais bien donnée mon fichier en exemple mais il est trop gros pour etre mis en piece jointe avec le message ici !🙁
Merci par avance a vous
Cordialement
Eric
( finalement un exemple de mon fichier en piece jointe )
 

Pièces jointes

Dernière édition:
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Bonsoir et Bienvenu sur XLD,
Je vous aurais bien donnée mon fichier en exemple mais il est trop gros pour etre mis en piece jointe avec le message ici !🙁
Re,
Nous aussi on veut pas tout le fichier, juste extrait allégé et sans données confidentielles...
Aller en mode avancée ==> Gérer les pièces jointes
@ te relire
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Merci de m'avoir repondu ! Finalement oui en version lite mon fichier est mis en piece jointe !
Donc voila : ma feuille principal s'appel test, elle est mis a jours tres souvent,
et sur la feuille statistic, par le biais de quelques formules,
tout ce calcul et me donne les resultas de ma feuille test.
Ce que j'aurais aimer, ce que a partir de la feuille test,
et tout en ne changeant rien au fonctionnement de la feuille statistic,
chaques donner ce resume par ordre alphabetique,
dans sa feuille ( de # pour les nom d'album qui commence par des chiffres, et de A à Z pour le reste ).
Voila ce que j'aurais aimer feaire, mais je ne trouve rien !
Merci encore de m'avoir repondu,
Cordialement
Eric
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Bonjour,
Ta demande sera plus simple avec du VBA, mais par formule c'est trop et surtout que ton fichier est déjà trop lourd...
les profs du VBA vont surement passer par la pour te donner de l'aide...
tu peux chercher sur le forum, c'est déjà fait...
Amicalement
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Bonjour colablues,

Une solution par VBA comme l'a suggéré R@chid (que je salue 🙂 ):
Le code est dans le module de code de ThisWorkbook pour l'évènement Workbook_SheetActivate:
VB:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Dim ori(), dest(), Init As String, i As Long
Dim j As Long, k As Long, N As Long
Dim i11 As Long, i12 As Long, i21 As Long, i22 As Long

If Len(Sh.Name) <> 1 Then Exit Sub
Init = Sh.Name & "*"

With Sheets("test")
  ori = Application.WorksheetFunction.Transpose _
        (.Range("1:1").CurrentRegion.Value)
  i11 = LBound(ori, 1): i12 = UBound(ori, 1)
  i21 = LBound(ori, 2): i22 = UBound(ori, 2)
End With

ReDim dest(i11 To i12, i21 To i22)
N = i21 - 1

For i = i21 To i22
  If ori(2, i) Like Init Then
    N = N + 1
    For j = i11 To i12
      dest(j, N) = ori(j, i)
    Next j
  End If
Next i

With Sh
  .Cells.Clear
  If N > i21 - 1 Then
    ReDim Preserve dest(i11 To i12, i21 To N)
    .Range("A1").Resize(N - i21 + 1, i12 - i11 + 1).Value _
        = Application.WorksheetFunction.Transpose(dest)
    Sheets("test").Range("1:" & i12).Copy
    .Range("A1").CurrentRegion.PasteSpecial xlPasteFormats
    .Range("A1").CurrentRegion.PasteSpecial xlPasteColumnWidths
    .Range("A1").Select
  End If
End With

End Sub

nb: cette macro s'exécute quand on sélectionne une feuille dont le nom ne comporte qu'un seul caractère.

Edit : v2-> modif mineure
 

Pièces jointes

Dernière édition:
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Merci de tout coeur pour vos aides 🙂
Merci R@chid, Merci mapomme !
mapomme, en ce qui concerne le fichier que tu ma donner en piece jointe,
sous excel 97 quand je l'ouvre (macro activer)
dés le moindre clic sur mes feuille, j'ai le débug script qui s'ouvre avec l'erreur :
erreur de compilation impossible d'affecter a un tableau🙁
Je me suis dis, bon ok c'est mon excel qui ai trop vieux,😛
j'ouvre alors le fichier avec la derniers version de libre office, et là erreur 🙁
erreur d'execution index hors de la plage definie
J'ai vu que tu a excel 2010 ?! Je crois l'avoir aussi,
je vais donc l'installer et je vous dirai ce soir ce qui ce passe !
Mais sincerement encore merci quand meme
Cordialement
Eric
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Bonsoir colablues,

Essayez ce code plus simple, plus économique et construit sans tableau. Il devrait fonctionner mieux sous Excel 97.
Le code est dans le module de code de la feuille "test" et se déclenche quand on sélectionne une autre feuille que "test".
Seules les feuilles du répertoire doivent avoir un nom dont la longueur est égal à 1.

VB:
Private Sub Worksheet_Deactivate()

Dim Init As String, i As Long
Dim j As Long, k As Long
Dim i11 As Long, i12 As Long

Application.ScreenUpdating = False

For i = 1 To Sheets.Count
  If Len(Sheets(i).Name) = 1 Then Sheets(i).Cells.Delete
Next i

With Sheets("test")
  i11 = 1: i12 = Range("A" & .Rows.Count).End(xlUp).Row
  For i = i11 To i12
    Init = Left(.Range("B" & i), 1)
    If IsNumeric(Init) Then Init = "#"
    k = Sheets(Init).Range("B" & Rows.Count).End(xlUp).Row
    If Sheets(Init).Range("B" & k) <> "" Then k = k + 1
    .Rows(i).Copy Sheets(Init).Rows(k)
  Next i
End With

For i = 1 To Sheets.Count
If Len(Sheets(i).Name) = 1 Then Sheets(i).Cells.EntireColumn.AutoFit
Next i

Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
 

Pièces jointes

Dernière édition:
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

Apres verif, j'ai pas office 2010, c'est le 2000 que je viens d'installer !
Test du fichier erreur qand meme 🙁
erreur de compilation variable non definie !
J'ai verif mon fichier original, des fois q'une de mes formules utilisé aurai posé probleme,
mais non lui il marche correctement !
Donc là je ne sais plus quoi faire 😕
cordialement
eric
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

mapomme,
simple petit message pour dire que,
apres avoir fait des test sous excel 2000,
je suis revenu avec le fichier sous excel 97 : le resultat est parfait : milles merci !
Du coup, j'ai porter le code sous mon fichier principal, et la idem : parfait !
Par contre, j'ai sur certaines feuilles, un petit temps d'attente avant la mise a jours,😕
mais comme je le disais dans mon premiers post, je suis debutant
et donc j'ai chercher a comprendre, et je croit avoir compris pourquoi : 🙄
apres plusieurs test, j'ai vu que ce code met a jours mes feuilles en temps réel,
et ça, " mapomme " je ne te remercierais jamais assez !😀
Par contre, j'ai encore une question, mais qui si elle ne trouvais pas de reponse,
ne me dérangerais pas plus que ça car la je chipote un peu :
comme vu sur ma feuille principal (test) elle a une certaine mise en forme au niveau taille des colonnes.
Cela serai possible que dans chaque feuille mise a jours par le code, les mise en formes reste ?
Cordialement,
Eric
 
Re : Excel97 : comment faire un genre d' abcdaire automatique ?

(re) Bonsoir colablues
comme vu sur ma feuille principal (test) elle a une certaine mise en forme au niveau taille des colonnes.
Cela serai possible que dans chaque feuille mise a jours par le code, les mise en formes reste ?

Voir le version v3b pour conservation des largeurs de colonne.
 

Pièces jointes

Re : Excel97 : comment faire un genre d' abcdaire automatique ?

😱😱😱
Des Milliers de Merci ne serais pas assez "mapomme" !
Cela fonctionne parfaitement !
J'aimerais tellement savoir faire aussi bien que vous 😛
Portez-vous bien et encore merci a vous !
Cordiamelemnt
Eric
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 Formule ou VBA
Réponses
6
Affichages
460
Retour