Remplir cellule selon des dates de début date et de fin date en VBA

  • Initiateur de la discussion Initiateur de la discussion undo74
  • Date de début Date de début

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 !

undo74

XLDnaute Nouveau
Bonjour,

Lorsque je clique sur un bouton, ça remplit automatiquement la zone ou se trouve les 12 colonnes de Janv à Déc situé à droite de la feuille Excel.


l'exemple dans le fichier :
- si la valeurs de la colonne 10 est < 0 je mets zéro sur toute la ligne de Janv a Déc (le code fonctionne 🙂)

Code:
  If Cells(i, 10).Value <= 0 Then
             Cells(i, col).Value = 0

- si la valeur de la colonne 10 est > 12 je copie la valeur de la colonne 7 puis je la colle sur toute la ligne de janv a Déc (le code fonctionne 🙂)

Code:
ElseIf Cells(i, 10).Value > 12 Then
            Cells(i, col).Value = Cells(i, 7).Value

- Maintenant si la valeur de la colonne 10 est comprise entre 1 et 12
je copie la valeur de la colonne 7 puis je la colle seulement en fonction de la date début colonne 4 et je m'arrête la date de fin colonne 5 (la fonction ne marche pas😕)

Code:
ElseIf Cells(i, 10).Value >= 1 And Cells(i, 10).Value <= 12 Then
            Cells(i, col).Value = Cells(i, 7).Value

Je bloque sur la dernière condition j'ai mis en rouge les bonnes informations dans le fichier en PJ.
Pouvez-vous svp résoudre me problème 🙄.
merci par avance,
cdt,
 

Pièces jointes

Re : Remplir cellule selon des dates de début date et de fin date en VBA

Bonjour,

Il faut rajouter la condition dans le code :
Code:
      If Cells(i, 10).Value <= 0 Then
          Cells(i, col).Value = 0
      ElseIf Cells(i, 10).Value > 12 Then
          Cells(i, col).Value = Cells(i, 7).Value
      ElseIf Cells(i, 10).Value >= 1 And Cells(i, 10).Value <= 12 Then
          
          If Cells(1, col) >= Cells(i, 4) And Cells(1, col) <= Cells(i, 5) Then
              Cells(i, col).Value = Cells(i, 7).Value
          End If
      
      Else
          Cells(i, col).Value = ""
     
      End If
Par contre dans le tableau, il y a des erreurs de formules en L9C7 et L10C7

Caillou
 
Re : Remplir cellule selon des dates de début date et de fin date en VBA

Bonjour,

Avant tout merci infiniment pour votre aide😀
Réponse a Bebere,

C'est presque bon mais j'ai pas le bon résultat sur la ligne 6:
j’attends 0,98 de Janv à oct 2015
car nous avons 14 mois en tout
4 mois en 2014 et 10 mois en 2015.

sinon pour le reste c'est parfait😉

Réponse a vous deux effective il y a une spécification au niveau de la donnée sur la ligne 7 car diffdate (D1; D2;"m") donne une erreur si la première date D1 est supérieur la D2 donc j'ai modifié la formule
Code:
=SI(H2<=D2;DATEDIF(D2;E2;"m");DATEDIF(D2;H2;"m"))

@Caillou,
ton code fonction très bien j'ai les bonnes info sur la ligne 6😉

merci pour vos remarques et votre support.
 
Dernière édition:
Bonjour, je suis à la recherche d'une formule qui me permettrait de mettre le choix dans ma liste pointage (voir photo du formulaire) dans le tableau (voir photo) en fonction des dates choisi dans le formulaire.

EX: Dans le formulaire je sélectionne pointage "500" du 01/01/24 au 05/01/24

je doit voir 500 dans les colonnes noté de 1 à 5 du tableau
 

Pièces jointes

  • calen.png
    calen.png
    30.8 KB · Affichages: 7
  • cal.png
    cal.png
    16.9 KB · Affichages: 6
- 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
5
Affichages
235
Réponses
2
Affichages
201
Réponses
4
Affichages
177
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
7
Affichages
249
Retour