Besoin aide macros

sojuan95 -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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)
    0
  2. sojuan95
     
    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
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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.
    0
    1. sojuan
       
      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.
      0
  4. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sojuan
     
    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
    0
  7. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    bonjour

    Regardes le poste 3 et mets nous ici le lien obtenu pour ton classeur.
    0
    1. sojuan
       
      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
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
      0