VBA femme en détresse

Bonjour à tous,

je suis une quiche en VBA, j'ai besoin de vos services.

Je reçois un fichier tous les lundis et pour le moment je le modifie manuellement pendant près d'une matinée alors que je pense qu'avec une macro cela peut se résoudre.

Je voudrais créer un bouton sur mes fichiers qui lancerait la macro suivante:

  • remplacement des cellules à 0 par cellule vide
  • suppression des colonnes comportant le mot "Dimanche" (écrit Dimanche xx janvier dans le fichier) dans des cellules.

J'ai déjà une autre macro qui me permet après de découper ce fichier par famille.

En vous remerciant d'avance messieurs

Bonjour,

Ne remercie pas d'avance ! Sans fichier, tu n'auras pas grand chose d'utile (si même tu as quelque chose...)

La question des 0 est secondaire...

Quant aux "dimanche", on ignore déjà de quel type de données il s'agit (texte ou date)...

On ne voit pas non plus le format des cellules, si le tableau contient des formules ou non, etc.

Et découper le fichier "par familles", ma boule de cristal ne me dit rien sur la signification de cette expression.

Bref...

Désolée, j'avais oublié le fichier joint.. en plus d'être une quiche en macro je suis juste nulle en forum.

d'avance merci

11cpt1-20160106.xlsx (10.48 Ko)

@ MFerrand : je te laisse répondre, ja m'absente juqu'à 21 heures... Daniel

Pas de problème Dan

Voilà une proposition :

Sub RéaménagerFichier()
    Dim n%, k%, i%
    With ActiveWorkbook.Worksheets(1)
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        k = .Cells(1, .Columns.Count).End(xlToLeft).Column
        .Range(.Cells(1, 1), .Cells(n, k)).NumberFormat = "General;;"
        For i = k To 1 Step -1
            If .Cells(1, i).Value Like "Dimanche*" Then
                .Columns(i + 1).Delete
                .Columns(i).Delete
            End If
        Next i
    End With
End Sub

Un bouton n'est par contre pas la solution adéquate, car il s'agit d'un fichier reçu, qui ne comportera pas de bouton lors de sa réception !

Ta macro sera donc dans un autre classeur. Il suffira qu'il soit ouvert pour que la macro puisse fonctionner. Egalement que le classeur à traiter soit le classeur actif (j'ai supposé qu'il s'agissait de classeur ne comportant qu'une feuille, ou dont seule la première était utilisée).

La solution serait donc une combinaison de touches pour lancer la macro, sinon elle est toujours accessible par la boîte de dialogue Macro.

Une autre solution est un classeur de macros personnelles, ce qui peut être intéressant si tu en a plusieurs à utiliser dans les mêmes conditions... A voir selon ton environnement de travail.

Cordialement.

merci beaucoup c'est parfait!!

Rechercher des sujets similaires à "vba femme detresse"