Input box permettant de selectionner une adresse de cellules

grokouic

XLDnaute Junior
Bonjour,

débutant en VBA, je cherche à générer une petite macro qui en fontion de la valeur saisie dans une input box (integer) active une certaine cellule dans une feuille prédéfinie

C'est pour définir une zone de copie dans la feuille

Par exemple si on saisie 1 la cellule active est A10, 2 => A20, 3 => A30

si numeroactif est la valeur saisie dans input box, j'ai essayé

Range(Cells (1,(10 * numeroactif)).Select

mais c'est visiblement une hérésie

Pourriez vous m'aider

Merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Input box permettant de selectionner une adresse de cellules

bonjour

et comme ceci

dim numeroactif as integer
numeroactif=inputbox("numero actif ?")
if numeroactif>6554 then
msgbox "trop grand"
else
cells(numeroactif*10,1).select
endif
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

Merci à Pascal et jmps pour leur réponse ultra rapide et qui marche....

j'ai par la suite une autre petite question

maintenant que j'arrive à positionner ma selection à copier en ligne, j'aimerai la positionner en colonne

Là où cela ce complique, c'est que je dois répérer l'endroit de démarrage par rapport à une date.

Je m'explique
J'ai une feuille dans laquelle je rentre

A1 Decembre 2005 comme date
B1 25 comme valeur

je désire que VBA recherche dans un autre worksheet la colonne qui correspond à décembre 2005 et active la celllule d'en dessus pour disposer la valeur

merci...
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

hello

voici un petit fichier qui devrait expliquer plus clairement ce que je recherche

merci de votre aide
 

Pièces jointes

  • Test VBA immotel.xls
    29.5 KB · Affichages: 74
  • Test VBA immotel.xls
    29.5 KB · Affichages: 66
  • Test VBA immotel.xls
    29.5 KB · Affichages: 59

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

en fait je fait divers simulation dans un tableau, et je cherche à pouvoir additionner et sauvegarder mes resultats dans une feuille dite stockage

Ainsi quand je rentre différentes hypotheses, j'obtient un tableau de valeurs toujours à la même place dans l'onglet cash flows mais dont l'entête de colonne (la date) change

vous m'avez déjà expliqué comment VBA peut copier coller ma table de valeur à une endroit de la feuille stockage que je défini en activant une cellule toute les 10 par exemple (inputbox)
ainsi si je souhaite enregistrer mes hypothèses dans la feuille stockage en 2, la cellule activée (et le début de l'emplacement de copie) sera sur la ligne 20, 3 30 etc

mon problème réside maintenant dans le postionnement des valeurs en colonne, c'est à dire qu'en fonction de la date que je saisie manuellement dans la première colonne du tableau de l'onglet cashflows, VBA repère où il doit se placer dans la colonne correspondante de l'onglet stockage.....


je ne sais pas si je suis plus clair....
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

je vais essayer de faire plus simple

comment faire rechercher à VBA une date saisie dans une cellule dans une ligne où les mois s'enchainent janvier février mars..... et activer la cellule juste en dessus

imaginons que j'ai un tableau avec sur la ligne 1 des mois Déc 2007, Janvier 08, Février 08...

si je saisie dans un autre onglet février 2008, j'aimerai que VBA active la cellule de la ligne 2 de la colonne correspondant à février 2008
 

Pièces jointes

  • explication.xls
    14 KB · Affichages: 62
  • explication.xls
    14 KB · Affichages: 63
  • explication.xls
    14 KB · Affichages: 56

SergiO

XLDnaute Accro
Re : Input box permettant de selectionner une adresse de cellules

Bonjour à tous,

Pas tout compris non plus ...

Essaie ce code par rapport au dernier post:

Code:
Option Explicit

Sub Macro1()

Dim Recherche, Valeur

Recherche = Sheets("saisie").Range("A2").Value
Valeur = Sheets("saisie").Range("B2").Value

Sheets("tablo").Activate
    Range("A1:I1").Select
    
    Selection.Find(What:=Recherche, After:=ActiveCell, LookIn:=xlValues _
        , LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, SearchFormat:=False).Activate
        
ActiveCell.Offset(1, 0).Value = Valeur
        
End Sub
@+
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

Merci sergio c'est ce que je cherchais, mais avec seulement l'activation de la cellule au lieu de la copie

je vais essayer de combiner ce postionnenment en colonne avec le positionnement en ligne choisit selon une inputbox pour pouvoir activer la cellule que je veux....


a + tard
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Input box permettant de selectionner une adresse de cellules

Re

en reprenant le code de sergio
Code:
Sub Macro1()

Dim Recherche, Valeur
Dim Macolonne As Byte
Dim numeroactif As Integer

Recherche = Sheets("saisie").Range("A2").Value
Valeur = Sheets("saisie").Range("B2").Value

Sheets("tablo").Activate
    Macolonne = Range("A1:I1").Find(What:=Recherche).Column


numeroactif = InputBox("numero actif ?")
If numeroactif > 6554 Then
    MsgBox "trop grand"
Else
    Cells(numeroactif * 10, Macolonne).Select
End If
        
End Sub
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

merci, moi j'en suis là en essayant de combiner les 2

Option Explicit

Sub CopieValeurCashFlows()
'
' Copier le cash flows actif dans son module de stockage avec un positionnement en ligne pour
' le numéro d'actif et en colonne par rapport à la date de début de tableau
'
Dim numeroactif As Integer
Dim Recherche

numeroactif = InputBox("saisisez le numéro sous lequel vous souhaitez enregistrer ce Cash Flows", "SAUVEGARDE DE CASH FLOWS")

Sheets("Cash_Flows").Activate 'selection de la feuille de destination de copie
Range("E8:H12").Select 'selection de la plage à copier
Selection.Copy 'copier

Sheets("stockageCF").Select 'selection de la feuille de destination de copie
Recherche = Sheets("Cash_Flows").Range("E7").Value 'affectation de la date comme valeur recherchée

Range("A3:k3").Select 'selection de la zone de recherche

Selection.Find(What:=Recherche, After:=ActiveCell, LookIn:=xlValues _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

ActiveCell.Offset(10 * Val(numeroactif), 0).Select 'selection de l'emplacement de la copie

Selection.PasteSpecial Paste:=xlPasteValues 'coller valeurs
Sheets("Cash_Flows").Select 'Retour à la feuille Cash Flows
Application.CutCopyMode = False 'Désactivation de la sélection copiée

End Sub


mais j'ai un problème de bug avec selection.Find "objet ou variable de bloc with non défini"
 
Dernière édition:

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

je tombe sur le même problème en essayant de faire touner la proposition de pascal,

"objet ou variable de bloc with non défini"

je continue de chercher :)

merci de votre aide précieuse
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

hello, j'ai trouvé

une boulette stupide j'avais mis une date qui n'était pas dans les propositions de la deuxième feuille, du coup VBA ne trouvais pas l'argument

merci à tous de votre aide
 

grokouic

XLDnaute Junior
Re : Input box permettant de selectionner une adresse de cellules

voici le petit fichier une fois réalisé
 

Pièces jointes

  • Test VBA immotel.xls
    30.5 KB · Affichages: 61
  • Test VBA immotel.xls
    30.5 KB · Affichages: 57
  • Test VBA immotel.xls
    30.5 KB · Affichages: 52

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet