Besoin aide macros

Fermé
sojuan95 - 30 déc. 2010 à 16:15
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 4 janv. 2011 à 17:28
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

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 691
31 déc. 2010 à 10:36
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
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 691
31 déc. 2010 à 16:35
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
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 691
3 janv. 2011 à 21:16
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 691
4 janv. 2011 à 12:31
bonjour

Regardes le poste 3 et mets nous ici le lien obtenu pour ton classeur.
0
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
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 691
4 janv. 2011 à 17:28
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