begin process at 2012 02 16 05:23:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

compteur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

compteur

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ée 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 selection d'une plage de données variables et mise en couleur [ par titamy ] Bonjour, je commence à utiliser les macros vb sous excel,jusqu'à maintenant je ne faisais que les lancer et modifier quelques champs ce qui était abo Moteur de recherche [ par etust ] Je réalise en ce moment un programme de base de données avec moteur de recherche. J'ai bien avancé jusqu'ici mais je bloque sur quelques points. Je s comparaison cellule à une plage exel vb [ par pgillou ] Bonjour le forum, Je cherche à appliquer ce code à une plage merci de votre aide: [b]If .Cells(Lig, Col).Value = Range("D121").Value Then [/b] N'hé Faire un autofill par rapport au texte de la derniere cellule non vide et non de sa valeur? [ par Luigi13013 ] Bonjour à tous, Comment peut on faire un autofill d'une colonne B par rapport à la derniere ligne non vide d'une colonne A ? Mais en prenant en comp [Catégorie modifiée .Net --> VBA] Empêcher modification cellule [ par Juju1988 ] Je ne sais pas si je suis dans la bonne catégorie, merci de m'indiquer si je me trompe... J'ai actuellement un lien hypertexte sous plusieurs de mes [Catégorie modifiée VBS --> VBA] Selection d'une plage dynamique [ par Mikmak47 ] Bonjour, Dans une feuille de calcul Excel, j'ai un tableau qui en partant d'une cellule fixe (par exemple la cellule F75), doit avoir des coordonnées [Catégorie modifiée .Net --> VBA] Copie Cellules [ par grosquick59 ] Bonjour à tous, je souhaite faire une copie automatique d'une feuille à l'autre mais en ne sélectionnant uniquement que les lignes remplies. Concrèt


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,245 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales