Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : compteur [ Divers / Débutants ] (beber4x)

lundi 27 août 2007 à 16:28:20 | compteur

beber4x

j ai reé un petit compteur , voila le code

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range

Set Plage = Intersect(Target, Range("b45"))
If Plage Is Nothing Then Exit Sub
For Each cellule In Plage
If cellule.Value = 1 Then
Range("h7").Value = Range("h7").Value + 1
End If
Next
End Sub

il est fonctionnel mais mon probleme est le suivant:
Quand je rentre la valeur 1 dans la case b45 , la case h7 s incremente de 1.
Puis je vide b45 ,valide ,je reecrit 1 , je valide ,et h7 s incremente de 1 de plus ,soit 2.

Voila le pour fonctionement normal.

Par contre, si je passe par une formule dans la cellule  dont le resultat est 1, rien ne se passe!!

Je pense que la macro ne sais pas lire le resultat d une formule dans une cellule.
Pouvez vous m aider a resoudre ce  probleme ?

merci





lundi 27 août 2007 à 17:06:48 | Re : compteur

Tioneb

Salut,
je pense que ton code est prévu pour fonctionner avec excel (VBA). Au lieu d'utiliser range("h7").value+1, essaye avec range("h7").FormulaLocal+1 et normalement ça devrait prendre en compte le résultat de la formule de la cellule (dans l'exemple H7)

@+

--------------------------------------------------------------------------
Visitez mon site sur [ Lien ]

lundi 27 août 2007 à 17:11:48 | Re : compteur

Tioneb

Excuse moi ma réponse ne fonctionne pas! "formulalocal" prend bien en compte le résultat d'une formule mais par contre, quand on fait "+1" dans la macro ça ne fonctionne pas! J'essaye de trouver et si je trouve quelque chose, je poste...

--------------------------------------------------------------------------
Visitez mon site sur [ Lien ]

lundi 27 août 2007 à 17:23:35 | Re : compteur

Tioneb

Eh je me tape la honte quand même, j'ai répondu complètement à coté!!!!! En, je pense que tu voulais dire que si tu mets une formule dans B45 (ex: =A1-1) et que tu tape "2" dans A1, H7 ne s'incrémente pas. Si ta macro ne doit réagir seulement avec B45, tu peux peut-être faire plus simple, car dans ce cas je ne vois pas pourquoi tu utilise "intersect" (qui, au passage, je ne sais pas à quoi elle sert, si quelqu'un peut l'expliquer au passage...)

--------------------------------------------------------------------------
Visitez mon site sur [ Lien ]

lundi 27 août 2007 à 17:25:58 | Re : compteur

beber4x

merci pour le temps que tu passes a m aider

lundi 27 août 2007 à 17:31:18 | Re : compteur

beber4x

la macro incremente +1 a h7 quand b45 passe de vide a 1.

la ligne intersect permet de selectonner la ou les cellules sur lequelle va s executer la macro.
Enfin d apres ce que j ai compris!!

lundi 27 août 2007 à 17:43:42 | Re : compteur

beber4x

ne pourrais pas passer par  une cellule tampo?  qui a fficherais juste la valeur de la cellule qui contient la formule et ainsi contourner le probleme?

lundi 27 août 2007 à 17:54:06 | Re : compteur

beber4x

bon j aifait ca mais ca marche presque trop bien LOL

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Range("c45").Value = Range("b45").Value

Set Plage = Intersect(Target, Range("c45"))
If Plage Is Nothing Then Exit Sub
For Each cellule In Plage
If cellule.Value = 1 Then
Range("h7").Value = Range("h7").Value + 1
End If
Next
End Sub

le compteur declenche au 1er qui apparait mais il ne s arrete plus  arf!!!


lundi 27 août 2007 à 20:04:53 | Re : compteur

mortalino

Membre Club


Normal, faut remettre à 0 à chaaque vérif...

Private Sub Worksheet_Change(ByVal Target As Range)
Range("H7").Value = 0

Dim Plage As Range
Range("c45").Value = Range("b45").Value Set Plage = Intersect(Target, Range("c45"))
If Plage Is Nothing Then Exit Sub
For Each cellule In Plage
If cellule.Value = 1 Then
Range("h7").Value = Range("h7").Value + 1
End If
Next
End Sub

@++


( Nouveau forum : Exclusivement Office & VBA

lundi 27 août 2007 à 20:06:00 | Re : compteur

mortalino

Membre Club


Peut-être à mettre sous :
If Plage Is Nothing Then Exit Sub

@++


( Nouveau forum : Exclusivement Office & VBA


1 2

Cette discussion est classé dans : compteur, cellule, range, plage, h7


Répondre à ce message

Sujets en rapport avec ce message

Comment coder en VB6 sur deux feuilles excel différentes liées par un résultat sur la seconde. [ par Leicheka ] 'Bonjour,   <p class="MsoNormal" s Problème avec For Each [ par Vikings76 ] Bonjour, tout le monde et merci pour vos réponsesVoila je suis débutant et j'ai un petit souci avec une macro For Each. En fait la macro fonctionne sa selection d'une plage de cellule [ par outofbusiness ] bonjour bonjour !!j'ai une question rapide et bete, mais sur laquelle je bloque :je veux selectionner une plage de cellule comme suit : de E14 a E18 e Macro.Empêcher saisie d'une cellule si une autre est déjà renseignée [ par Berrot ] Bonjour à tous.Merci d'avance pour l'attention que vous voudrez bien porter à mon problème.Systhème d'exploitation :Windows vista    Excel 2007Je dési Copier cellule dans dernière ligne vide [ par antom ] Bonjour tout le monde,Je reviens vers vous, car j'ai un petit souci avec le code ci-dessous.Private Sub CommandButton1_Click()    x = Range("A2:D2")   Déplacement d'un cellule R vers R+1 [ par jarod2222 ] Bonjour,Je cherche à déplacer la sélection de la cellule vers la droite.Je m'explique :Je sélectionne la cellule initial via inputbox je note la cellu Boucle hypertexte sous excel.HELP!!!J ai galerer pour ce code (je n y connais pas grand chose)je voudrais juste le terminer. [ par WOUPETTE ] Voici le sujet:Dans le classeur,la feuil 1 est l acceuil,La feuille 3 est la trame avec deux champs obligatoire,avec un bouton validez la creation qui Suppression lignes dont les cellules sont vides en colonne A [ par LaManouche ] Bonjour,Je suis coincée... Ma macro ne fonctionne pas et je ne comprends pas pourquoi....UN GRAND MERCI d'avance à celui ou celle qui peut m'aider.Je Cellule [ par fne67 ] Bonjour à tous,Voila j'ai un petit problème de longueur de chiffre, j'utilise ce code pour intégrer mon chiffre dans Excel 2007 et donc quand la cellu Etirer une plage de données [ par margouilla237 ] Bonjour,voici mon problème : je souhaite copier une plage de valeur sur x colonnes à l'aide de la fonction autofill.Mon début de programmation : range


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,983 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.