Re: macro argument: couleur de cell
#11
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 15-04-2008 19h43
Bonsoir gilles, le Forum,

Citation :

gilles a écrit:
Bravo ! nous nous sommes enfin compris et, votre solution est impeccable car elle fait abstraction du nombre de valeurs à traiter (col E) ; de plus le problème de la « consolidation » est réglé
Dans le soucis de rendre l’ouvrage ultra simple d’utilisation je vous demande si il est possible de décomposer la valeur ( C12) de manière à ce que l’utilisateur par l’ usage de la cell (B 12 ) n’ai qu’a rentrer la valeur en + ou - qui vient modifier C12 Ceci pour éviter l’usage d’ une calculette et de saisir la val (C12) ainsi modifiee quitte à passer par un bouton afin que cette opération soit « tactilement » validée .Dans même soucis je pense que la valeur saisie en (B12)doit être à Usage unique pour éviter la double saisie


Tu trouveras ci-joint le fichier modifié en conséquence (j'ai toutefois ajouté un contrôle par validation de données à B12 pour s'assurer que la saisie sera bien de type numérique dans cette cellule).

Le code utilisé est le suivant :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
'myDearFriend!  -  www.mdf-xlpages.com
Dim C As Range
Static EnCours As Boolean
    If EnCours Then Exit Sub    '
Pour éviter un effet circulaire
    
'Si modif utilisateur en A3 ou B12
    If Not Application.Intersect(Target, Union(Range("A3"), Range("B12"))) Is Nothing Then
        '
Recherche de l'élément en colonne E
        Set C = Columns("E").Find(Range("A3").Value)
        If Not C Is Nothing Then
            '
Si A3 a été modifiée par l'utilisateur
            If Target.Address = "$A$3" Then
                Range("C12").Value = C.Offset(0, 1).Value
            Else
            '
Si C12 a été modifiée par l'utilisateur
                Range("C12").Value = Range("C12").Value + Range("B12").Value
                C.Offset(0, 1).Value = Range("C12").Value
                EnCours = True
                Range("B12").ClearContents
                EnCours = False
            End If
        End If
    End If
End Sub


Citation :

gilles a écrit:
Pour apprendre : à « l’étude » de votre code : optionexplicit correspond à ?


Je te recommande vivement de lire l'article VBA et les variables et notamment le paragraphe consacré à Option Explicit .

Si tu as besoin d'éclaircissements supplémentaires, n'hésite pas...

Cordialement,
Pièce jointe:
zip PourGilles2.zip   [ Taille: 9.31 Ko - Téléchargements: 633 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: macro argument: couleur de cell
#12
Débutant XLPages

Inscription: 05/04/2008

Messages: 7

Système d'exploitation:
PC
Version Excel utilisée:
2000
Posté le : 17-04-2008 13h44
Bonjour, amis et lecteurs du forum
Tout d’abord je tiens à vivement vous remercier pour la précieuse aide que vous m’avez apporté
Je salue votre patience et,l’attachement dont vous faites preuve pour toujours fournir une solution ainsi qu’un conseil avisé
Grâce à votre site et, à des passionnés comme vous ; on ne peut que progresser
Je n’ai plus qu’a m’y plonger . Encore merci
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes