Excel compteur macro

N

Nevro

Guest
Bonjour,je voudrait creer un compteur en excel,j'explique :
j'ai creer deux feuilles,sur la premiere un bouton ki ,via une macro,renvoie a la deuxieme, et dans la deuxieme,je voudrait k'il maffiche le nombre de fois que j'ai cliké sur le bouton.
 
R

Robert

Guest
Bonsoir Nevro, bonsoir le forum,

La macro ci-dessous (à adapter) incrémente un compteur en A1 (deuxième feuille).

Public Sub bout()
Sheets(2).Select 'sélectionne la feuille "Feuil2"
'incrémente de 1 la cellule A1
ActiveSheet.Range("A1") = ActiveSheet.Range("A1") + 1
End Sub

À plus,

Robert
 
N

Nevro

Guest
ok merci;mais ça marche pas,jdois peut etre mal l'appiquer,voici mon code :

Sub Main

End Sub


sub alleracommande
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 6

dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$C$3"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())


end sub
 
G

Gérard DEZAMIS

Guest
Bonsoir Nevro

Le code de Robert fonctionne très bien

Peut être un problème d'indication de feuille

Private Sub CommandButton1_Click()
Sheets("Feuil2").Select
ActiveSheet.Range("A1") = ActiveSheet.Range("A1") + 1
End Sub

J'ai mis ce code dans un bouton (Controle) c'est OK

Tu peux aussi incrémenter ta cellule A1 directement sans "appuyer" sur le bouton en plaçant ce code à chaque fois que la feuil2 sera ouverte

Private Sub Worksheet_Activate()
Range("A1").Value = Range("A1").Value + 1
End Sub

A toi de voir ...

PS. Je suis comme Robert ?????????????? au sujet de ton code.
Est-tu sûr de ta transcription ?

@+
GD
 
M

michel

Guest
bonjour Nevro , Robert et Gerard

c'est normal que la macro de Nevro ne fonctionne par il s'agit d'une procedure Open Office , qui n'est pas compatible MS Office ( du moins cet exemple particulier )

tu cherches une macro pour Open Office ou pour Excel ?
pour Excel , la proposition de Robert et de Gerard repond à ta demande


bonne journée
MichelXld
 
 
M

michel

Guest
Bonjour Nevro

Cette macro Open Office permet d'activer la « Feuille2 » et d'ajouter à chaque fois une unité dans la cellule A1 de cette feuille


Sub comptage_Et_Activation_Feuille
'testé avec OOo1.1.3 & WinXP
Dim Feuille as Object ,oCell As Object

Feuille = ThisComponent.Sheets.getByName("Feuille2")'adapter le nom de la feuille
ThisComponent.CurrentController.setActiveSheet(Feuille)'selection de le "Feuille2"

oCell=Feuille.getCellRangeByName("A1")'cellule A1 de la « Feuille2 »
oCell.setValue(oCell.Value + 1 )'ajout d'une unité dans la cellule A1
End Sub


Bonne journée
MichelXld
 

Discussions similaires

Réponses
16
Affichages
409

Statistiques des forums

Discussions
311 711
Messages
2 081 786
Membres
101 817
dernier inscrit
carvajal