IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Insérer/supprimer des colonnes : ne fonctionne pas là où il faut


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut Insérer/supprimer des colonnes : ne fonctionne pas là où il faut
    Bonjour à tous,

    Afin de faciliter l'utilisation de mon fichier (dont il y a un extrait en PJ) je souhaite établir une macro qui me permettrait d'automatiser certaines actions que je dois faire à chaque début de mois.

    J'ai tenté d'enregistrer une macro mais lorsque je l’exécute par la suite soit elle insert plusieurs colonnes soit elle en supprime mais pas du tout comme il faut. Je ne vois pas du tout comment faire.

    Voici les tâches que je souhaiterais automatiser :

    Onglet 44 :
    • Insérer une colonne entre I et J
    • En I4, incrémenter le nouveau mois en glissant H4
    • Supprimer la colonne F (le mois le plus ancien)


    Onglet Accueil :
    • Cellule F2, compter le nombre de valeur se trouvant dans la colonne H (de H5 à H) de l'onglet 44 puis diviser par le nombre de poseurs (cellule C2) de l'onglet Accueil


    Merci d'avance pour votre aide !
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Mai 2018
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 93
    Par défaut
    Voici le code en espérant que cela te convienne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sheets("44").Activate
    Columns(9).Insert
    Columns("F:F").Delete Shift:=xlToLeft
    Range("G4").AutoFill Destination:=Range("G4:H4"), Type:=xlFillDefault
    Si j'ai bien compris, tu veux compter le nombre de cellule non vide? Si c'est le cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sheets("44").Activate
    Fin = Range("A65536").End(xlUp).Row
    Total = 0
    For i = 5 To Fin
        If (i, 8) = "" Then
           Total = Total + 1
       End If
    Next
    Sheets("Accueil").Activate
    Cells(2, 6) = Total / Cells(2, 3)

    Code si tu souhaites faire une somme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets("44").Activate
    Fin = Range("A65536").End(xlUp).Row
    Set Liste = Range("H5:H" & Fin)
    Total = Application.SumIf(Liste, "")
    Sheets("Accueil").Activate
    Cells(2, 6) = Total / Cells(2, 3)

    Bonne fin de semaine.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut
    Merci Xaviou99

    J'ai intégré ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub debut_mois()
    '
    ' Debut_mois Macro
    '
    
        Sheets("44").Activate
        Columns(9).Insert
        Columns("F:F").Delete Shift:=xlToLeft
        Range("G4").AutoFill Destination:=Range("G4:H4"), Type:=xlFillDefault
        
        Sheets("44").Activate
        Fin = Range("A65536").End(xlUp).Row
        Total = 0
        For i = 5 To Fin
            If (i, 8) = "" Then
               Total = Total + 1
           End If
        Next
        Sheets("Accueil").Activate
        Cells(2, 6) = Total / Cells(2, 3)
    
    End Sub
    Mais VBA m'indique "erreur de compilation: erreur de synthaxe"
    J'ai retranscris les couleurs où il indique les erreurs.

    Sais-tu ce qui cloche?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Mai 2018
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 93
    Par défaut
    J'ai réalisé une petite modification sur le forum et j'ai effacé sans doute par inadvertance "Cells" devant (i, 8). Excuse moi pour cette erreur. Voici le code corrigé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Sub Debut_de_mois()
     
    Sheets("44").Activate
    Columns(9).Insert
    Columns("F:F").Delete Shift:=xlToLeft
    Range("G4").AutoFill Destination:=Range("G4:H4"), Type:=xlFillDefault
     
    Sheets("44").Activate
    Fin = Range("A65536").End(xlUp).Row
    Total = 0
    For i = 5 To Fin
        If Cells(i, 8) <> "" Then
            Total = Total + 1
        End If
    Next
    Sheets("Accueil").Activate
    Cells(2, 6) = Total / Cells(2, 3)
     
    End Sub

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 18
    Par défaut
    Super merci !

    Dernier petit truc qui coince... Comment faire pour compter le nombre de cellules non vides dans la colonne H de plusieurs onglet puis faire la somme totale qui sera divisée par le nb de techniciens (B4 de l'onglet Accueil) ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur
    Inscrit en
    Mai 2018
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2018
    Messages : 93
    Par défaut
    Tout dépend du nombre d'onglet que tu as, si ces derniers vont changer de nom, si le nombre d'onglet va changer (rajout/suppression).
    Tu peux créer éventuellement une feuille avec un listing avec le nom de toutes les feuilles que tu as et ensuite créer une boucle sur toutes les feuilles concernées par la condition que tu cites comme ça tu as pas de soucis en cas de modification éventuelles par la suite.
    Pour masquer cette feuille qui sera inutile à ton fichier, tu peux utiliser le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("xxx").Visible = xlVeryHidden
    Ne pas oublier si tu fais ça après l'éxecution de ton macro de mettre avant l'exécution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("xxx").Visible = True

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. dimensions des colonnes ne varient pas
    Par piotrr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/07/2007, 09h28
  2. [C#] Supprimer des colonnes (Table avec 2 clés primaire)
    Par sara21 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 05/11/2006, 21h42
  3. l' "autorun" des lecteurs ne fonctionne pas
    Par ouskel'n'or dans le forum Windows XP
    Réponses: 2
    Dernier message: 18/09/2006, 19h48
  4. Réponses: 3
    Dernier message: 06/08/2006, 10h44
  5. [VBA-E] - supprimer des colonnes
    Par romano dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 02/02/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo