[RÉSOLU] Ajout d'un sélectif dans 2 colonnes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

aubelix

XLDnaute Impliqué
Bonjour à tous les Amis du Forum.

Je reviens de nouveau vers pour vous demander votre aide.
J'ai une base de noms qui est appelé à évoluer en quantité
donc non figé en longueur de données.
J'aurais souhaité balayer la base et inscrire 1 dans une colonne +18 si majeur
ou 1 dans la colonne -18 si mineur et en fonction de la date de naissance de la colonne D.
Je vous joint un fichier.

Par avance, Merci pour votre aide.
Cordialement.
 

Pièces jointes

Dernière édition:
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous,

en pièce jointe, une formule un peu plus précise

à+
Philippe

Edit:

@JJ1,

ta formule aurait été plus précise avec 365,25 mais il y avait quand même un risque lors des années bissextiles
 

Pièces jointes

Dernière édition:
Re : Ajout d'un sélectif dans 2 colonnes

Bonsoir JJ1, PhLaurent55 et tous les Amis du Forum.
Merci pour vos réponses respectives.
J'ai testé avant de vous répondre. Les deux solutions
sont simples d'emploi et fonctionnent très bien.
PhLaurent55, ta formule me servira aussi en fonction
du débat sur la limite de la prise en compte de la date butée
pour l'âge de la majorité au sein de l'association.

Mille mercis à vous deux.
Cordialement.
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonsoir Roger2327.

J'étais en cours de rédaction de mon retour.
Je n'avais pas vu ta réponse.
Mille mercis à to i aussi pour ton aide et ta réponse.
Une macro, c'est ce que je recherchais au départ.
Merci à tous pour votre aide.

Cordialement.
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous les Amis du Forum.

Je reviens de nouveau vers pour vous demander votre aide
Une fois lancée la macro pour déterminer si âge +18 ou -18, j'aimerais pouvoir pour chaque date de cotisation
inscrire une somme en fonction de cette condition:
-18 : inscrire 10
+18 : inscrire 20
S'il y'a une valeur dans la cellule, ne rien inscrire et sauter à la cellule suivante.
Pour toutes les lignes et toutes les dates , appelées à évoluer dans le temps.

Par avance, Merci pour votre aide.
Cordialement.
 

Pièces jointes

Dernière édition:
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour aubelix.


Je reviens avec une proposition, mais je m'aperçois que vous avez une nouvelle fois modifié le problème.
Ma proposition est donc inutile.

Désolé.​


ℝOGER2327
#7018


Vendredi 27 As 141 (Sainte Visité, fille du précédent - fête Suprême Quarte)
9 Frimaire An CCXXII, 6,2106h - genièvre
2013-W48-5T14:54:20Z
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonsoir Roger2327 et tous les Amis du Forum.
Roger, ce n'est pas que j'ai modifié le problème mais en automatisant
la saisie des +18 et -18, je m'aperçois que je saisie tout "manuellement.
Si c'était possible de l'automatiser, cela me ferait gagner pas mal de temps.
Sinon je continuerai à saisir les cotisations manuellement.
Désolé si je t'ai froissé.
Une fois de plus, Merci pour ton aide.
Cordialement.
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous les Amis du Forum et en particulier à toi Roger2327.

Je reviens vers toi pour te dire que je n'ai pas compris ta réaction.
Ma seconde requête était dans l'ordre des choses.
J'ai adopté ta macro qui répondait tout à fait à ma question initiale.
Aussi après l'avoir utilisée, je me suis rendu compte que les saisies manuelles
des cotisations étaient fastidieuses et pouvaient "être automatisée".
C'était le sens de ma seconde requête.
Mais si tu as une autre proposition, pour la question initiale, je suis preneur.
Mais je n'ai en aucun cas changé de problème.
C'est une évolution naturelle. Devais-je ouvrir un autre post ?
Désolé si je t'ai froissé.
Cordialement.
 
Dernière édition:
Re : Ajout d'un sélectif dans 2 colonnes

Re...


Bonjour à tous les Amis du Forum et en particulier à toi Roger2327.

Je reviens vers toi pour te dire que je n'ai pas compris ta réaction.
Ma seconde requête était dans l'ordre des choses.
J'ai adopté ta macro qui répondait tout à fait à ma question initiale.
Aussi après l'avoir utilisée, je me suis rendu compte que les saisies manuelles
des cotisations étaient fastidieuses et pouvaient "être automatisée".
C'était le sens de ma seconde requête.
Mais si tu as une autre proposition, pour la question initiale, je suis preneur.
Mais je n'ai en aucun cas changé de problème.
C'est une évolution naturelle. Devais-je ouvrir un autre post ?
Désolé si je t'ai froissé.
Cordialement.
Quelle seconde requête ?
Celle-ci ?
inscrire une somme en fonction de cette condition:
-18 : inscrire 10
+18 : inscrire 20
Celle-là trois heures plus tard ?
inscrire une somme en fonction de cette condition:
-18 : inscrire 10
+18 : inscrire 20
S'il y'a une valeur dans la cellule, ne rien inscrire et sauter à la cellule suivante.

À la "première deuxième requête", j'allais vous proposer​
VB:
Sub Majeur_ou_Mineur_00()
Dim i&, j&, cr&, d As Date, r()
    With Sheets("DATA")
        cr = 3 + .Range("Date_Réf").Columns.Count
        r = .Range("Date_Naissance").Resize(, cr).Value
        d = Date
        d = DateSerial(Year(d) - 18, Month(d), Day(d))
        For i = 2 To UBound(r)
            If r(i, 1) <= d Then
                r(i, 2) = 1: r(i, 3) = Empty
                For j = 4 To cr: r(i, j) = 20: Next
            Else
                r(i, 2) = Empty: r(i, 3) = 1
                For j = 4 To cr: r(i, j) = 10: Next
            End If
        Next
        .Range("Date_Naissance").Resize(, cr).Value = r
    End With
End Sub
ou​
VB:
Sub Majeur_ou_Mineur_01()
Dim i&, j&, cs&, d As Date, r(), s()
    With Sheets("DATA")
        r = .Range("Date_Naissance").Resize(, 3).Value
        s = .Range("Date_Réf").Resize(UBound(r)).Value
        cs = UBound(s, 2)
        d = Date
        d = DateSerial(Year(d) - 18, Month(d), Day(d))
        For i = 2 To UBound(r)
            If r(i, 1) <= d Then
                r(i, 2) = 1: r(i, 3) = Empty
                For j = 1 To cs: s(i, j) = 20: Next
            Else
                r(i, 2) = Empty: r(i, 3) = 1
                For j = 1 To cs: s(i, j) = 10: Next
            End If
        Next
        .Range("Date_Naissance").Resize(, 3).Value = r
        .Range("Date_Réf").Resize(UBound(r)).Value = s
    End With
End Sub
(voir classeur Copie de AJOUT_SELECTIF_2.xlsm.)

Ce qui ne répond pas à la "deuxième deuxième requête". Pour celle-ci
VB:
Sub Majeur_ou_Mineur_10()
Dim i&, j&, cr&, d As Date, r()
    With Sheets("DATA")
        cr = 3 + .Range("Date_Réf").Columns.Count
        r = .Range("Date_Naissance").Resize(, cr).Value
        d = Date
        d = DateSerial(Year(d) - 18, Month(d), Day(d))
        For i = 2 To UBound(r)
            If r(i, 1) <= d Then
                r(i, 2) = 1: r(i, 3) = Empty
                For j = 4 To cr
                    If IsEmpty(r(i, j)) Then r(i, j) = 20
                Next
            Else
                r(i, 2) = Empty: r(i, 3) = 1
                For j = 4 To cr
                    If IsEmpty(r(i, j)) Then r(i, j) = 10
                Next
            End If
        Next
        .Range("Date_Naissance").Resize(, cr).Value = r
    End With
End Sub
ou​
VB:
Sub Majeur_ou_Mineur_11()
Dim i&, j&, cs&, d As Date, r(), s()
    With Sheets("DATA")
        r = .Range("Date_Naissance").Resize(, 3).Value
        s = .Range("Date_Réf").Resize(UBound(r)).Value
        cs = UBound(s, 2)
        d = Date
        d = DateSerial(Year(d) - 18, Month(d), Day(d))
        For i = 2 To UBound(r)
            If r(i, 1) <= d Then
                r(i, 2) = 1: r(i, 3) = Empty
                For j = 1 To cs
                    If IsEmpty(s(i, j)) Then s(i, j) = 20
                Next
            Else
                r(i, 2) = Empty: r(i, 3) = 1
                For j = 1 To cs
                    If IsEmpty(s(i, j)) Then s(i, j) = 10
                Next
            End If
        Next
        .Range("Date_Naissance").Resize(, 3).Value = r
        .Range("Date_Réf").Resize(UBound(r)).Value = s
    End With
End Sub
sont probablement plus convenables.
(voir classeur Copie de AJOUT_SELECTIF_3.xlsm.)​


ℝOGER2327
#7019


Samedi 28 As 141 (Nativité de Saint Swift, chanoine - fête Suprême Quarte)
10 Frimaire An CCXXII, 4,6015h - pioche
2013-W48-6T11:02:37Z
 

Pièces jointes

Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous les Amis du Forum et en particulier à toi Roger2327. 😕
Merci pour ton aide et ta patience.
Je suis désolé pour les évolutions qui t'obligent à revoir tes codes.
Malheureusement, ce n'est qu'à l'utilisation que les problèmes se posent.
Encore une fois Mille Mercis. J'ai presque finalisé mon projet grâce à vous
tous les bénévoles. Vous donnez de votre temps sans compter.
Bien que nous vous irritons avec nos questions parfois décalées...
Je te renouvelle mes excuses pour l'embarras dans lequel je t'ai mis.
Merci encore pour tes réponses et ton aide si précieuse.

Cordialement.
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous les Amis du Forum et en particulier à toi Roger2327.

Je reviens de nouveau vers toi.😕
Est-il possible si le champ date de naissance est vide de mettre
un "X" à la place de 10 ou 20 dans la colonne +18 et -18.

Par avance, Merci pour ton aide.
Cordialement.
 
Re : Ajout d'un sélectif dans 2 colonnes

Bonjour à tous les Amis du Forum.

De nouveau sur ma demande:
Est-il possible si le champ date de naissance est vide de mettre
un "X" à la place de 10 ou 20 dans la colonne +18 et -18.

Par avance, merci pour votre aide.
Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
345
Réponses
17
Affichages
1 K
Retour