Besoin aide macros

Bonjour,

Je débute dans la programmation et aurais besoin d'un peu d'aide svp car j'suis un peu perdu :-(

Je vais aller étape par étape si vous le voulez bien.

Dans un premier temps, j'aimerais :
- si colonne A = un mois (càd janvier, février...) alors on delete toute la ligne
- si colonne A = "security", alors copier le contenu de la cellule en B vers une autre cellule
- si colonne A = chiffre entre 1 et 30, alors effacer toute la ligne sans deleter la ligne

Merci d'avance pour votre réponse et précieuse aide

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour

    Avec ton cahier des charges, je te propose cette macro pour exécuter tes fonctions :

    Private Sub test()
    Dim lig As Long, mois As Integer
    For lig = UsedRange.Columns(1).Cells.Count To 1 Step -1
        If Cells(lig, 1).Value = "security" Then
            'cellule destinataire
            Cells(1, 3).Value = Cells(lig, 1).Offset(0, 1).Value
        ElseIf Cells(lig, 1).Value >= 1 And Cells(lig, 1).Value <= 30 Then
            'effacement ligne
            Rows(lig).ClearContents
        Else
            For mois = 1 To 12
                If Cells(lig, 1).Value = Format(DateValue("1/" & mois & "/2010"), "mmmm") Then
                'suppression ligne
                    Rows(lig).Delete
                    Exit For
                End If
            Next mois
        End If
    Next lig
    End Sub

    Pour "security" il faut valoriser l'adresse de la cellule que tu souhaites(C1 dans le code)
    1. Ca ne marche pas :-(

      J'ai déjà un début comme ça (deleter toute la ligne lorsqu'il y a le mot "FEES") :

      Dim l As Long
      For l = Cells(65256, 1).End(xlUp).Row To 1 Step -1
      If Cells(l, 1).Value = "FEES" Then Cells(l, 1).EntireRow.Delete
      1. Contributeur
        bonjour

        Ca ne marche pas :-(

        Qu'est-ce qui ne marche pas le code que je t'ai donné (testé fonctionnel) ou ton code qui n'a strictement rien à voir avec le mien ?

        Si tu pouvais nous mettre un exemple de classeur avec ta macro, sans données identifiables et privées, mais avec la structure de tes données sur http://www.cijoint.fr/ puis nous mettre le lien généré ici ce serait plus facile.
        1. 14 / 1.450,78 / 1.450,78 / EUR

          Voici mes données par exemple dans mon tableau : je voudrais si (ici 14) A est entre 1 et 30, effacer toute la ligne.
      2. Contributeur
        bonjour

        Si tu mets en place la macro fournie : adieu ton 14 et toute la ligne :)

        Mais il faut copier/coller la macro et l'exécuter...
        1. Bonjour,

          J'ai fais copie/coller de la macro et exécuter et j'ai eu le message erreur :

          erreur exécution '424'
          objet requis
          1. Contributeur
            bonjour

            Regardes le poste 3 et mets nous ici le lien obtenu pour ton classeur.
            1. en fait je suis au bureau et j'ai un filtre qui me bloque le lien...
              tu peux me donner ton adresse mail que je t'envoi mon tableau ?

              Merci
            2. Contributeur
              Désolé mais il n'est pas raisonnable de publier une adresse sur un forum.
              Pour éviter les problèmes essaies de m'envoyer ton classeur à : sojuan.3.ccm @ spamgourmet.com