Récuperer valeur cellule pour variable

FOUQUET Yves

XLDnaute Occasionnel
Bonsoir,

Avez vous 5 mn pour m'aider...
Je débute à peine dans VisualBasic.
Mon problème: Récupérer la valeur d'une cellule d'excel pour positionner l'écriture de nouvelle ligne dans mon tableur.

Dim Nbr As Variant 'Ma variable
With Sheets("Feuil2") 'Ma feuille Excel

'feuil2 est ma feuille de calcul Excel
'dans la cellule C6 il y a un nombre entier 23
'Je voudrais le récupérer pour le mettre dans la variable Nbr
'Cette variable servant à me positionner sur une ligne précise de mon tableur
'pour integrer des données de saisie
'-----------------------------------------------------------------------------------------------------------------------
.Range(Nbr).Value = ("C" & 6) 'C'est là que ça ne marche pas!!

' Là j'intégre à partir de Nbr

L = .Range("a" & Nbr + 7).End(xlUp).Row + 1 'Permet de se positionner sur la ligne de tableau définie par Nbr

.Range("A" & L).Value = CDate(TextBox1) 'Insère la donnée de la textbox1 dans la colonne A comme une date
.Range("B" & L).Value = ComboBox1 'Insère la donnée de la liste déroulante dans la colonne B
.Range("D" & L).Value = ComboBox2
.Range("E" & L) = ValeurTBx(TextBox5) 'Insére la donnée formatée monétaire dans la colonne E
.Range("H" & L).Value = ComboBox3
.Range("I" & L).Value = TextBox2
.Range("J" & L).Value = TextBox3
.Range("K" & L).Value = TextBox4
.Range("F" & L).Value = "," ' Colonne de pointage avec relevé banque, passe à "," par défaut
'----------------------------------------------------------------------------------------------------------------------
Voilà si quelqu'un peut m'aider car je galère...
Merci d'avance.
Yves
 

Staple1600

XLDnaute Barbatruc
Re

Pour être précis, je parle de:
Pour tous

1 - Conformité RGPD
Tout message ou fichier déposé sur ce site ne doit pas comporter de données à caractère personnel (DCP).
Il convient d’anonymiser toutes les données permettant d’identifier directement ou indirectement une personne.
XLD ne saurait être tenu responsable au cas où un visiteur du site posterait des données non conformes à la législation en vigueur.
Si vous détectez une non conformité, merci d'alerter le webmaster de ce site : webmaster@excel-downloads.com, nous supprimerons les données dans les plus brefs délais.
Un autre "coutume" est de joindre des fichiers exemples anonymisés ou des fichiers simplifiés et toujours anonymisés pour illustrer la problématique rencontrée.
On ne joint jamais un fichier original.
 

Staple1600

XLDnaute Barbatruc
Re

Le logo n'est pas bidon lui, non?
Ni les noms sur la feuille Projet

Et la ligne "syntaxe" de mon précédent message est bien dans ton fichier, non?
With Sheets("Feuil2")
'feuil2 est ma feuille de calcul Excel
'dans la cellule C6 il y a un nombre entier
'Je voudrais le récuperer pour le mettre dans la variable Nbr
'Cette variable servant à me positionner sur une ligne précise de mon tableur
'pour integrer des données de saisie
Nbr = ActiveWorkbook.ActiveSheet.Cells(6, 3).Values
'Nbr = Range("C6").Value 'Ca ne marche pas!!
' Là j'intégre à partir de Nbr

NB: Pour ce qui concerne la charte, je te dis cela simplement à titre informatif.
Si le webmaster du site estime que ton fichier n'est pas 100% anonymisé, ton fichier sera supprimé.
Je voulais juste t'en avertir ;)
(Sachant que tu as la possibilité de supprimer/remplacer les fichiers que tu postes)
 

FOUQUET Yves

XLDnaute Occasionnel
Oui, j'ai supprimé la ligne de code dés que j'ai vu que ta solution fonctionnait.
Le logo n'est pas bidon (Assistance Humanitaire International) Mais il est totalement public.
Bon, j'y veillerai dorénavant mais j'ai voulu répondre à ta demande de fichier.
Je vais virer le fichier puisqu'on peut le faire.

Pour l'heure je me débats afin de récupérer des données dans la feuille Aides3 afin de remplir pat IF la zones compte du tableur à la saisie... Tout un programme qui va m'occuper quelques jours.

Merci de ton aide.
(A bientôt...lol)
 

Staple1600

XLDnaute Barbatruc
Re

Cela détermine (en partant du "bas" de la feuille) le numéro de ligne de la dernière cellule non vide de la colonne A (donc 1) auquel on ajoute 1
Donc L est alors égale à la première cellule vide après la dernière non vide de la dite colonne
C'est d'ailleurs ce que disait le commentaire dans ton code, non ?
'Permet de se positionner sur la ligne de tableau définie
 

FOUQUET Yves

XLDnaute Occasionnel
Mais je ne veux pas aller a la dernière cellule vide mais dans une ligne définie qui n'et pas obligatoirement la dernière. En effet j'ai en ligne 560 un autre tableau récapitulatif de tous les comptes.
Cells = fait quoi ?
Rows.Count, 1 = Fait quoi ?
.End(xlUp).Row + 1 = Fait quoi ?

Mais je ne veux pas abuser de ta patience et de ton temps alors tu n'es pas obligé de répondre à cette heure tardive...
 

Staple1600

XLDnaute Barbatruc
Re

Relis mon explication précédente ou teste cette macro sur une feuille vide
VB:
Sub Test_Illustratif()
Dim L As Long
Columns(1).Clear
Range("A1:A" & Application.RandBetween(1, 20)) = "=ADDRESS(ROW(),COLUMN())"
L = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(L, 1).Columns.AutoFit
Cells(L, 1).Font.Bold = True
Cells(L, 1) = "Première cellule vide aprés la dernière cellule non vide en colonne A"
MsgBox Cells(L, 1).Address, vbInformation
End Sub
Normalement, cela a du éclairer ta lanterne, non ?
 

FOUQUET Yves

XLDnaute Occasionnel
Bonjour,
Après une nuit de sommeil je retourne sur l'ouvrage.
Bon j'avais pas vu ton message mais j'ai réglé mon problème d'affectation de ligne. Peut être pas de façon académique mais ça fonctionne.
Je te ferai voir comment j'ai fait mais tu te moques pas...lol

Autre petit problème, certainement d'affectation de variable:

Dim i As Integer
Dim Nature As Long 'Ma variable (Nature = compte comptable) détectée à partir du (nom de la nature) saisie dans la ComboBox2
'exemple "Achat de marchandise" = "60610"
' le tout est dans "Aides3" où sont les paramètres colonne C = nom, colonne D=compte

Nature = 0
Sheets("Aides3").Select
'*****************************************************************************
For i = 1 To 60 '60 maximum de nature paramétrées
If ("C" & i) = ComboBox2.Value Then 'C'est là qu'il ne reconnait pas la condition comme vraie
Range(Nature).Value = '("D" & i) ' Si "vraie" affecte la valeur de ("D" & i) à Nature et sort de la boucle
'Est ce que la synthaxe d'affectation de la valeur à variable est exacte

End If
Next


Si j'abuse alors ne donne pas de suite.
Sinon Merci d'avance.
Yves
 

FOUQUET Yves

XLDnaute Occasionnel
Le résultat escompté est:
Dans la feuille "Aides3" feuille des paramètres
Si la valeur de ("C" & i) = la saisie de Combobox2
Récupérer la valeur de ("D" & i) qui est le numéro de la nature
Affecter cette valeur à la variable "Nature" pour la déposer ensuite dans la cellule de la "feuil2".
 

harry226h

XLDnaute Junior
Je vois Yves, pour faire plus simple (je crois), tu peux faire ceci
Dans le code du CommandButton3 tu modifie
VB:
.Range("D" & L).Value = Application.WorksheetFunction.VLookup(ComboBox2, Sheets("Aides3").Range("C1:D60"), 2, False) ' la valeur correspondant au contenu de la combobox2 est recherché dans la plage C1 à D60 et est renvoyé dans la cellule correspondante en feuil2

ou

Code:
'declare Ta variable nature et affecte la valeur

Dim Nature as Long
Nature = Application.WorksheetFunction.VLookup(ComboBox2, Sheets("Aides3").Range("C1:D60"), 2, False)


.Range("D" & L).Value = Nature


Cordialement

A
 
Dernière édition:

Discussions similaires

Réponses
4
Affichages
165
Réponses
7
Affichages
163