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

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:confused:)

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 :rolleyes:.
merci par avance,
cdt,
 

Pièces jointes

  • Exemple Lissage 2015.zip
    16.2 KB · Affichages: 28

Caillou

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

undo

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

Bonjour,

Avant tout merci infiniment pour votre aide:D
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:

sandralos

XLDnaute Nouveau
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: 5
  • cal.png
    cal.png
    16.9 KB · Affichages: 5

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 763
dernier inscrit
NICO26