Besoin code

Fab25 -  
 Utilisateur anonyme -
Bonjour,
J'aurai besoin d'un code. je suis novice et apprends tous les biens faits du VBA.
Voilà le topo !
Je voudrais faire une "inputbox"
je voudrais que la réponse "n" (de 1 à 50...) soit égale à 1+(54*(n-1)) et que ce résultat (par exemple si n = 10, alors on obtient 487) me renvoie sur une autre feuille ("Tout") avec pour sélection la case "A487".
Est ce que qqn peut m'aider ? merki de vottre aide

3 réponses

Utilisateur anonyme
 
Bonjour,

Suggestion :

Option Explicit

Sub LirePosition()

    Dim varValeur As Variant
    Dim strQuestion As String, strTitre As String
    Dim intPosition As Integer, intAdresse As Integer
    
    strTitre = "Saisie de la position à cibler"
    strQuestion = "Veuillez entrer un nombre compris en 1 et 50 : "
    ' Puisque l'utilisateur peut saisir n'importe quoi !
    ' Ja capture d'abord dans un type Variant
    varValeur = Application.InputBox(strQuestion, strTitre, "1")
    ' Je force ensuite la démotion vers un type Integer
    intPosition = Val(valvaleur)
    ' Et je valide la plage de nombre permis
    If ((intPosition > 0) And (intPosition < 51)) Then
        ' Le calcul
        intAdresse = (((intPosition - 1) * 54) + 1)
        ' Sélection de la feuille
        Sheets("Tout").Select
        ' Sélection de la cellule
        Range("A" & intAdresse).Select
    End If
    
End Sub
'

Lupin
0
Fab25
 
merci pour le code, mais il ne fonctionne pas, il y a qqch qui cloche !!
je cherche du coup ...
0
Utilisateur anonyme
 
re :

Effectivement, j'ai fait une erreur de frappe :

J'ai testé celui-ci :-)

Option Explicit

Sub LirePosition()

    Dim varValeur As Variant
    Dim strQuestion As String, strTitre As String
    Dim intPosition As Integer, intAdresse As Integer
    
    strTitre = "Saisie de la position à cibler"
    strQuestion = "Veuillez entrer un nombre compris en 1 et 50 : "
    ' Puisque l'utilisateur peut saisir n'importe quoi !
    ' Ja capture d'abord dans un type Variant
    varValeur = Application.InputBox(strQuestion, strTitre, "1")
    ' Je force ensuite la démotion vers un type Integer
    intPosition = Val(varValeur)
    ' Et je valide la plage de nombre permises
    If ((intPosition > 0) And (intPosition < 51)) Then
        ' Le calcul
        intAdresse = (((intPosition - 1) * 54) + 1)
        ' Sélection de la feuille
        Sheets("Tout").Select
        ' Sélection de la cellule
        Range("A" & intAdresse).Select
    End If
    
End Sub
'


intPosition = Val(valvaleur)

aurait du être :

intPosition = Val(varValeur)

Lupin
0