function vba

  • Initiateur de la discussion Misterk
  • Date de début
M

Misterk

Guest
Bonjour,

Je souhaite trouver l'adresse d'une valeur dans une base dans un tableau
pour ensuite l'utiliser voici ce que je fais :

Set Table = Worksheets("saisie du jour").Range("a6:a15")
Message = "Sur quel poste ?"
titre = "Tarification "
poste = InputBox(Message, titre)
Set plage = Worksheets("saisie du jour").Range("a2:a10").Find(what:=poste, Lookat:=xlWhole, LookIn:=xlValues)

Merci pour votre aide

Mk
 
Z

Zon

Guest
Bonjour Misterk,

au lieu d'utiliser find je te propose d'utilser le code suivant (où les doublons ne sont pas gérés)
sub toto()
dim cell,Table as range
dim message,titre as string
set Table = Worksheets("saisie du jour").Range("a6:a15")
Message = "Sur quel poste ?"
titre = "Tarification "
poste = InputBox(Message, titre)

dim cell as range
For each cell In Range("a2:a10")
If cell = poste Then
plage=cell.address
exit for
End If
Next cell

end sub



A+++
 
M

misterk

Guest
Salut,

Bon c'est cool ca marche tip top.Merci. J'ai un autre problème si je peux me permettre. Je souhaite incrementer une cellule, mais dés que je quitte
le classeur la cellule se réinitialise, donc je perds sa valeur !!!
voila le code :


Set gain = Worksheets("saisie du jour").Range(plage).Offset(0, 9)

Static accumuler

accumuler = accumuler + gain

date_jour = Worksheets("total du jour").Range("a3").Value
If IsDate(date_jour) = False Then
date_jour = ladate
Worksheets("total du jour").Range("c3").Value = accumuler
Else
Worksheets("total du jour").Range("c3").Value = accumuler
End If

Bon week
misterk
 
M

misterk

Guest
Salut,
voila je t'explique en gros ce que je veux souhaite faire. Je souhaite reporter mes comptes sur la feuille "total du jour". en ligne
la date de saisie et en colonne le poste budgetaire. C'est la lutte pour l'instant mais c'est pédgogique ...voila voilou
à plus
misterk


Sub monargent()
Dim ladate As Date
ladate = Date

Dim plage As Variant
Dim poste As String
Dim celluleEncours As Range
Dim cell, Table As Range
Dim message, titre As String

Worksheets("saisie du jour").Range("f20") = "=Now()"

'choix du poste

Set Table = Worksheets("saisie du jour").Range("a2:a15")

message = "Sur quel poste ?"
titre = "Tarification "
poste = InputBox(message, titre)

For Each cell In Range("a2:a15")
If cell = poste Then
plage = cell.Address
Exit For
End If
Next cell

'saisie du debut

heure_debut:
message = "saisissez le debut sachant que sommes le now()"
titre = "demande d'informations"
date_debut = InputBox(message, titre)
If date_debut <> "" Then
Worksheets("saisie du jour").Range(plage).Offset(0, 1) = date_debut
Else
MsgBox "pas valide"
GoTo heure_debut
End If

'saisie fin
heure_fin:
message = "saisissez la fin"
titre = "demande d'informations"
date_fin = InputBox(message, titre)
If date_fin <> "" Then
Worksheets("saisie du jour").Range(plage).Offset(0, 2) = date_fin
Else
MsgBox "pas valide"
GoTo heure_fin
End If

Set gain = Worksheets("saisie du jour").Range(plage).Offset(0, 9)


Static accumuler

accumuler = accumuler + gain

date_jour = Worksheets("total du jour").Range("a3").Value
If IsDate(date_jour) = False Then
date_jour = ladate
Worksheets("total du jour").Range("c3").Value = accumuler
Else
Worksheets("total du jour").Range("c3").Value = accumuler
End If


End Sub
 

Discussions similaires

Réponses
2
Affichages
176
Réponses
12
Affichages
619

Statistiques des forums

Discussions
312 501
Messages
2 089 014
Membres
104 005
dernier inscrit
Maxence