Le classeur ne s'ouvre plus

j'sais pas pourquoi tu m'as pas envoyé ton fichier (comme j'te l'ai demandé 2 ou 3 fois),

mais d'toute façon, j'crois avoir trouvé c'que tu cherchais :

5exo-zot.xlsm (16.76 Ko)

à l'ouverture du fichier, regarde le tableau qu'j'ai fait à ton intention, puis fais Ctrl e

Alt F11 pour voir le code VBA (j'crois qu'il te plaira bien mieux qu'le 1er ! )

à te lire pour avoir ton avis.

dhany

Bonjour,

Je viens de voir ton fichier dhany. il n'est pas très différent du 1er...

Et bien qu'il fonctionne, Je trouve cependant le Offset(-1) un peu dur à avaler

Si tu veux m'expliquer

Bonjour,

Je viens de voir ton fichier dhany. il n'est pas très différent du 1er...

Et bien qu'il fonctionne, Je trouve cependant le Offset(-1) un peu dur à avaler

Si tu veux bien m'expliquer


j'sais pas pourquoi tu m'as pas envoyé ton fichier (comme j'te l'ai demandé 2 ou 3 fois),

mais d'toute façon, j'crois avoir trouvé c'que tu cherchais :

je suis un peu perdu. De quel fichier parlais-tu ? Celui relatif au problème traité dans ce sujet ou celui de mon autre sujet ?

@zot

as-tu bien regardé le message de la MsgBox ?

screen

c'est pas c'que tu voulais : afficher toutes les formules de la 1ère ligne de données (qui est la ligne n° 2 du tableau) ?

(car la 1ère ligne du tableau est la ligne des entêtes du tableau)

par rapport au .Range(2, i) du With : le Offset(-1) est donc une ligne au-dessus : la ligne des entêtes

ça sert pour afficher "HT" ; "TVA" ; "TTC" (au début des 3 lignes du message)

je remets ici mon code VBA en entier :

Option Explicit

Sub TblListFormules()
  Dim chn$, i As Byte
  With ActiveSheet.ListObjects(1)
    For i = 1 To .ListColumns.Count
      With .Range(2, i)
        If .HasFormula Then chn = chn & "col " & i & ", " & _
          .Offset(-1) & " : " & .Formula & vbLf & vbLf
      End With
    Next i
  End With
  MsgBox Left$(chn, Len(chn) - 2), 0, "Formules du tableau" _
    & " (nommé Tableau1)"
End Sub

le fichier que j'attendais que tu envoies, c'est celui que tu n'arrivais plus à ouvrir :

https://forum.excel-pratique.com/viewtopic.php?p=663657#p663657

https://forum.excel-pratique.com/viewtopic.php?p=663659#p663659

alors même s'il s'est ouvert miraculeusement ensuite, je voulais le voir :

https://forum.excel-pratique.com/viewtopic.php?p=663663#p663663

parce que je voulais t'aider pour ta question de ce message :

https://forum.excel-pratique.com/viewtopic.php?p=663667#p663667

mais t'étais trop fatigué ! alors :

dhany

Ha ! ok, je comprends bien mieux maintenant le offset(-1). Merci

Pour le fichier, y a-t-il moyen de te l'envoyé en MP ? Car vois-tu j'ai pas vraiment envie de le balancer tel quel sur la toile !

Beaucoup trop d'infos sensibles...


Zut ! il est dit que t'as désactivé ta boîte MP

@zot

as-tu bien regardé le message de la MsgBox ?

Screen.jpg

c'est pas c'que tu voulais : afficher toutes les formules de la 1ère ligne de données (qui est la ligne n° 2 du tableau) ?

(car la 1ère ligne du tableau est la ligne des entêtes du tableau)

Bah non ! je voulais juste afficher le titre des colonnes contenant des formules

si c'est juste le titre, c'est encore plus simple ! patiente un moment et j'te fais la nouvelle version.

pour la messagerie privée, c'est ok : tu peux m'envoyer ton fichier confidentiel en MP.

dhany

EDIT: Pas vu les 2 autres pages, post inutile du coup.

dhany, J't'ai envoyé le fichier. Alors, l'as-tu vu ?

oui, j'l'ai vu, mais j'étais en train d'finir la nouvelle version d'ton fichier (avec que les noms des colonnes) :

3exo-zot.xlsm (16.58 Ko)

même utilisation : fais Ctrl e ; puis va sur Visual Basic pour regarder l'nouveau code VBA.

n'oublie pas d'me donner ton avis, et si besoin, tu peux demander une adaptation.

dhany

Super merci dhany ! T'es tout à mes p'tits soins. Et ça j'adore.

Reste à voir si on peut encore faire quelque chose pour mon fichier.

je teste et te fais le retour. Merci

on s'est encore croisés ! merci pour ton retour.

j'viens d'répondre à ton MP (et ajout d'un 2ème MP).

dhany

Great ! ton code marche parfaitement. je suis tout

En fait, je cherchais ce bout de code afin de généraliser le code effacer que tu trouves dans mon autre post https://forum.excel-pratique.com/viewtopic.php?f=2&t=111258

Et, j'avais réussi avec le code de Jean-Eric à peaufiner le traitement. Il fonctionnait parfaitement jusqu'à mon fameux copier/coller catastrophique

Ci-dessous, l'adaptation du code de Jean-Eric

Option Explicit

'Entêtes avec Formules
Public Function ListerEntetesDeColonneAvecFomule() As Variant
    Dim x(), rng As Range, Cell As Range, i As Integer
    'x = "Formules :" & Chr(10)
    i = 0
    With ActiveSheet.ListObjects(1)
        For Each Cell In .HeaderRowRange
            If Cell.Offset(1).HasFormula Then
                ReDim Preserve x(0 To i)
                x(i) = "" & Cell
                i = i + 1
            End If
        Next
    End With
    'MsgBox Left(x, Len(x) - 2)
    ListerEntetesDeColonneAvecFomule = x
End Function

'Entêtes sans Formules
Public Function ListerEntetesDeColonneSansFomule() As Variant
    Dim x(), rng As Range, Cell As Range, i As Integer
    'x = "Formules :" & Chr(10)
    i = 0
    With ActiveSheet.ListObjects(1)
        For Each Cell In .HeaderRowRange
            If Not Cell.Offset(1).HasFormula Then
                ReDim Preserve x(0 To i)
                x(i) = "" & Cell
                i = i + 1
            End If
        Next
    End With
    'MsgBox Left(x, Len(x) - 2)
    ListerEntetesDeColonneAvecFomule = x
End Function

Et ci-après ma version de la fonction effacer

Sub Effacer() ' Efface les plages ne contenant pas de formule dans la table de la feuille active
    Dim LaFeuille As Worksheet
    Dim LaTable As String
    Dim LesColonnes()
    Set LaFeuille = ThisWorkbook.ActiveSheet
    With LaFeuille
        LaTable = "TABLE_" & LaFeuille.Name
        On Error Resume Next
            .Range(LaTable).SpecialCells(xlCellTypeConstants).ClearContents
        On Error GoTo 0
        LesColonnes = ListerEntetesDeColonneSansFomule()
        .Range(LaTable & "[[" & LesColonnes(0) & "]]").Cells(1).Select
    End With
End Sub

20:16 j'vais définitivement marquer cette heure ... car Hourra ! dhany , Je viens de retrouver une veille sauvegarde du fichier. Me reste plus qu'à passer une nuit blanche à essayer de redéfinir le reste des paramètres, des fonctions et des optimisations de fonctions...

Je reprends d'un coup espoir. Je sens que je vais savourer


Et bonne nouvelle ! ma connexion à l'air réparée héhé

Hé Barman ! cappuccino à chacun stp ! ce soir c'est moi qui rince

j'viens d'lire ton message ; super nouvelle !!! d'autant plus qu'j'étais persuadé qu'c'était mort, fichu, kaput !!!

ben on peut dire qu't'as d'la chance, toi !!! t'es drôlement verni !!! alors vite, profites-en pour faire une sauvegarde sur 2 clés USB et aussi sur un disque dur externe : 3 précautions valent mieux qu'une, surtout qu'ça peut arriver qu'une clé USB devienne HS (Hors Service) : complètement inutilisable !!! j'ai déjà eu des clés USB de mauvaise qualité, qui du jour au lendemain ne fonctionnent plus : impossible de lire, ou d'écrire dessus ; clé USB grillée, impossible à réparer, direction poubelle !!! bien sûr, j'l'es aurais jamais achetées si j'avais su d'avance qu'elles seraient nazes !!! mais j'peux t'dire qu'après qu'ça arrive, j'ai jamais acheté d'nouvelle clé USB d'la même marque !!! marque mise en liste noire définitive, black out total !!!

si t'as aussi un espace de stockage sur Google Drive par exemple, ou un autre endroit du cloud, profites-en !

pour ta connexion réparée, j'savais pas qu'elle était en panne, mais c'est une super nouvelle aussi !

"là, tu m'fais penser à un certain cousin..."
screen

j'trinque avec toi, camarade ! et

dhany

Ha oui ! Le journal de Mickey (Le Mickey parade) !!! nooon tu m'as kill total

Donald et ses merdeux de neveux... toujours à monter des coups foireux pour Piquer des sous au bon vieux tonton Balthazar Picsou l'avar , Fallait l'avoir vaille que vaille.

Tu fais resurgir de très vieux souv'niiiirs

Rechercher des sujets similaires à "classeur ouvre"