Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Question pour le forum

  • Initiateur de la discussion Initiateur de la discussion br44
  • 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 !

br44

XLDnaute Impliqué
bonsoir à tous ,

Voilà j'ai deux questions à vous poser concernant la mise en forme de cellules .

1ère question : Peut-on additionner des cellules au fur et a mesure quelles se copie (de manière aléatoire)?

2ème question: comment mettre une cellules en positif où négatif en fonction de la valeur d'une autres cellules ?

Exemple : j'ai rentrée la formule suivante dans ma cellule D25 :=D23-D21 ce qui me donne un résultat négatif affiché en rouge .

je voudrais que le résultat de la cellule D25 s'affiche en Bleu gras si la valeur de la cellule D23 est égal à la cellule D21 pour les résultats positif .

Vous remerciant par avance pour vos réponse je vous dis à bientôt sur se fil .Amicalement BR44
 
Re : Question pour le forum


Bonjour br44,

Je ne suis pas certain d'avoir tout compris, aussi je te propose la solution que je crois correspondre à ta demande :

Code:
Private Sub CommandButton4_Click() 'Bouton "VALIDATION FACTURES IMPAYEES"

'Je recherche la dernière ligne de la colonne "A" (NomClient)
Lig = CLng(NomClient.List(NomClient.ListIndex, (NomClient.ColumnCount - 1)))

 'Je Selectionne la feuille du classeur consernée
With Sheets("RECAP IMPAYER")
   'Je rentre les données dans le tableau
  'Pour les N° de Chèques où de virement
    .Range("K" & Lig).Value = NCheque.Value
 'Pour le Montant des Chéques où de virement
    .Range("J" & Lig).Value = Montant.Value
 'Je mets au format les TextBox
     Montant.Value = Format(Montant, "#,##0.00 €")
 'Pour la date des Chéques où de virement
    .Range("L" & Lig).Value = Date1.Value
 'Pour la date de la saisies des Chéques où des virements
    .Range("M" & Lig).Value = DateSaisie.Value
 'Pour la Banque
    .Range("N" & Lig).Value = Banque.Value
'Pour le N° de bordereau
    .Range("O" & Lig).Value = Nbordereau.Value
'Je quitte le feuille sélectionnée
End With

'Je rentre le paiement des factures de la feuille "RECAP IMPAYER"
'Pour la combo Facture
   With NFacture1
    [COLOR="Red"][B]If .Value = "" Then Exit Sub[/B][/COLOR]
'Balayer tous les items
   For y = 0 To .ListCount - 1
'si l'item est "Payer"
'alors mettre couleur bleue dans la bonne colonne uniquement
   If NFacture1.List(y, 2) = "Payer" Then
       Sheets("RECAP IMPAYER").Range("C" & Lig).Offset(, y * 14).Font.ColorIndex = 5 'Bleu
   Else
       Sheets("RECAP IMPAYER").Range("C" & Lig).Offset(, y * 14).Font.ColorIndex = 3 'Rouge
     End If
  Next y
 End With
'Pour la combo AnnexeFacture1
 With AnFacture1
   [COLOR="Red"][B]If .Value = "" Then Exit Sub[/B][/COLOR]
 'Balayer tous les items
   For y = 0 To .ListCount - 1
'si l'item est "Payer"
'alors mettre couleur bleue dans la bonne colonne uniquement
   If AnFacture1.List(y, 2) = "Payer" Then
      Sheets("RECAP IMPAYER").Range("E" & Lig).Offset(, y * 15).Font.ColorIndex = 5 'Bleu
   Else
      Sheets("RECAP IMPAYER").Range("E" & Lig).Offset(, y * 15).Font.ColorIndex = 3 'Rouge
   End If
  Next y
End With
'Pour la Combo AnnexeFacture2
  With AnFacture2
  [COLOR="Red"][B]If .Value = "" Then Exit Sub[/B][/COLOR]
'Balayer tous les items
 For y = 0 To .ListCount - 1
 'si l'item est "Payer"
'alors mettre couleur bleue dans la bonne colonne uniquement
       If AnFacture2.List(y, 2) = "Payer" Then
       Sheets("RECAP IMPAYER").Range("G" & Lig).Offset(, y * 15).Font.ColorIndex = 5  'Bleu
    Else
       Sheets("RECAP IMPAYER").Range("G" & Lig).Offset(, y * 15).Font.ColorIndex = 3 'Rouge
      End If
  Next y
  End With
 'Pour la Combo Facture Unique
  With FactureUnique
    [COLOR="Red"][B]If .Value = "" Then Exit Sub[/B][/COLOR]
'Balayer tous les items
 For y = 0 To .ListCount - 1
'si l'item est "Payer"
'alors mettre couleur bleue dans la bonne colonne uniquement
    If FactureUnique.List(y, 2) = "Payer" Then
       Sheets("RECAP IMPAYER").Range("I" & Lig).Offset(, y * 15).Font.ColorIndex = 5 'Bleu
    Else
       Sheets("RECAP IMPAYER").Range("I" & Lig).Offset(, y * 15).Font.ColorIndex = 3 'Rouge
    End If
 Next y
End With

With Feuil5
Set plage = .Range("B12:I16")
  .Range("B19") = ""
  For Each C In plage
    If C.Font.ColorIndex = 5 Then
      .Range("B19") = .Range("B19") + C.Value
    End If
  Next C
End With

End Sub

Les lignes en rouge sont à supprimer.
C'est à cause de ces exit sub que, si la ligne n'était pas complète, la mise à jour de la cellule B19 ne se faisait pas.

J'ai rajouter un ".value" au niveau du premier .Range("B19") de ta macro pour régler le problème de l'affichage est cela fonctionne .

Je ne comprends pas, chez moi ça fonctionne correctement, le .Value étant sous-entendu par VBA.

Remarque : il me semble qu'il reste des points à régler ou à améliorer dans ton programme :

Par exemple :

Lors du choix d'un N° Facture, pourquoi ne pas sélectionner les N° annexes et la facture unique dans les autres ComboBox (si on choisit un autre N° dans ces cases, ça ne fonctionne pas)

La mise à jour de la cellule B19 ne se fait que pour le mois de janvier : ne faudrait-il pas étendre la plage B12:I16 à l'ensemble du tableau ?

Espérant t'avoir aidé à avancer dans ce projet.

Cordialement.
 
Re : Question pour le forum

Bonsoir à tous

br44

Pour faire la somme , il fallait modifier ainsi

Code:
Sub test()
Dim plage As Range
With Sheets(1)
    Set plage = .[C12:C16,E12:E16,G12:G16,I12:I16]
    .[B19] = ""
        For Each C In plage
        .[B19] = .[B19] + C * (-1 * (C.Interior.ColorIndex = 5))
    Next C
End With
End Sub
 
Re : Question pour le forum

bonjour,Papou-net,Staple1600,le forum

Papou-Net : Un grand merci pour ta réponse ainsi que pour ta proposition d'aide . En se qui concerne l'agrandissement de la plage "B12:I16" tu as raison il va de soit que cela est valable pour l'ensemble du tableau soit 12 mois . ce qui décale la cellule donne des cases allant de "B19"à"M19" chaque cellules étant égal à un mois .

Pour la modif je te tiens au courant après avoir tester .

Pour les améliorations du programme voici les points qui me reste à régler :

Pour la feuille ("RECAP IMPAYER"):

1) boucler les TextBox situées en début de macro de manière à se qu'elles s'affichent en face des numéros de factures sélectionnées .

exemples : Si tu sélectionne "Maxou" tu verras qui il y a 3 N° de factures dans c'est dernier correspondent à une facture situé de la façon suivantes dans le tableau : 1 pour le mois de Janvier ,1 en Février et 1 en mars si le paiement se fait en mars (Paiement trimestriel) il faut que je puisse solder aussi les deux mois précédent . Le changement s'effectue correctement au niveau des N° de factures mais pas dans la partie "Détail encaissement du tableau seul le mois de janvier est alimenté .
Et/Ou
évidement si il n'y a une facture est mensuel il faut que les texbox se places à l'endroit prévue : si le n° correspond au mois de mars alors remplir la partie Détail encaissement du mois de mars .

2) Comme indiquer dans mon précédent message il faut rajouter la condition suivante dans le bouton "Enregistrer":Ne copier que les cellules rouges >0 .
La macro fonctionne sans cette condition .

voilà pour l'instant les deux gros problème à régler pour cette partie . Si tu à besoin d'un fichier pour illustrer l'exemple où d'explications complémentaires fais le mois savoir .


Staple 1600: Merci pour ce complément d'information .

Je vous remercie pour le coup de main et vous dis à plus .Amicalement Br44
 
Re : Question pour le forum

Bonjour à tous ,

Papou- Net : Juste ce petit message pour te dire que les teste sont positif après modifs.

Merci encore pour ta solution et à bientôt .Amicalement Br44
 
Re : Question pour le forum

Bonjour à tous ,

Papou- Net : Juste ce petit message pour te dire que les teste sont positif après modifs.

Merci encore pour ta solution et à bientôt .Amicalement Br44

Bonsoir br44,

Merci pour ce retour, ça fait toujours plaisir de savoir que l'on a pû être utile (n'est-ce pas l'essence même de ce forum ?)
Restant à ta disposition.

Bonnes fêtes de fin d'année.

Amicalement.
 
Re : Question pour le forum

bonjour,Papou-net,le forum

Je relance se fil pour une petite question qui j'espère ne sera pas trop compliqué.

Je voudrais savoir si il est possible insérer une condition avant le collage de textBox dans un tableau ?

Je mets ci-joint un lien pour mon fichier (nouvelle version)

Vous trouverez également des informations complémentaires dans la Feuille "Récap impayer" de ce classeur .

Espérant que ma demande soit claire et vous remerciant par avance je vous dis à bientôt sur se fil . Amicalement BR 44

Cijoint.fr - Service gratuit de dépôt de fichiers
 
- 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
273
Réponses
40
Affichages
1 K
Réponses
3
Affichages
572
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…