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

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

  • AJOUT_SELECTIF.xlsx
    43.6 KB · Affichages: 47
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
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

  • 111.xlsx
    38.4 KB · Affichages: 37
  • 111.xlsx
    38.4 KB · Affichages: 35
  • 111.xlsx
    38.4 KB · Affichages: 42
Dernière édition:

ROGER2327

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

Bonsoir à tous.


Comme il était, plus haut, question de bouton, je tente ma chance.​


ℝOGER2327
#7016


Jeudi 26 As 141 (Saint Mensonger, évêque - fête Suprême Quarte)
8 Frimaire An CCXXII, 7,1094h - miel
2013-W48-4T17:03:45Z
 

Pièces jointes

  • AJOUT_SELECTIF.xlsm
    54.1 KB · Affichages: 41

aubelix

XLDnaute Impliqué
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.
 

aubelix

XLDnaute Impliqué
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.
 

aubelix

XLDnaute Impliqué
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

  • AJOUT_SELECTIF_2.xlsm
    44.2 KB · Affichages: 30
Dernière édition:

ROGER2327

XLDnaute Barbatruc
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
 

aubelix

XLDnaute Impliqué
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.
 

aubelix

XLDnaute Impliqué
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:

ROGER2327

XLDnaute Barbatruc
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

  • Copie de AJOUT_SELECTIF_2.xlsm
    49 KB · Affichages: 30
  • Copie de AJOUT_SELECTIF_3.xlsm
    49.1 KB · Affichages: 36

aubelix

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

Bonjour à tous les Amis du Forum et en particulier à toi Roger2327. :confused:
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.
 

aubelix

XLDnaute Impliqué
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.:confused:
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.
 

aubelix

XLDnaute Impliqué
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972