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
 

harry226h

XLDnaute Junior
Bonjour Yves, le forum
En jetant un coup d'oeil je ne vois pas de valeur attribuée a Nbr.
Peut etre c'est ce que tu as essayé de faire avec ca .Range(Nbr).Value = ("C" & 6).

Essaie plutot
VB:
Nbr = Range("C6").value
Cordialement

A
 

FOUQUET Yves

XLDnaute Occasionnel
Merci de votre réponse. Oui c'est ce que j'ai essayé...
Désolé mais votre solution ne marche pas non plus. Je l'avais essayé.

'**********************************
If MsgBox("Etes-vous certain de vouloir INSERER cette nouvelle ligne comptable ?", vbYesNo, "Demande de confirmation") = vbYes Then
'condition : si oui au message

Dim L As Long

Dim Nbr As Integer
With Sheets("Feuil2")

'feuil2 est ma feuille de calcul Excel
'dans la cellule C6 il y a un nombre entier 23
'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 = Range("C6").Value 'Ca ne marche pas!! Incompatilité de type à la ligne suivante ou j'utilise Nbr...
' j'utilise une variable integer et mon format de cellule Excel est "standard" à valeur 23


' Là j’intègre à partir de Nbr

L = .Range("a" & Nbr).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

If Controls("ComboBox1") = "CAISSE" Then .Range("F" & L).Value = "x"
If Controls("ComboBox2") = "" Then .Range("F" & L).Value = " "
'End If

End With
'**********************************

J'ai cherché sur le forum mais pas vu de solution adaptée à mon problème. certainement trop simple sauf pour moi... Lol.
Cordialement.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil,

FOUQUET Yves
La coutume avant de poster une nouvelle question c'est de se manifester dans la précédente ;)
 

FOUQUET Yves

XLDnaute Occasionnel
Désolé mais je ne connais pas encore les us et coutumes du forum. Je ne voulais pas mélanger les sujets. Mais je vais y arriver, à 66 ans faut du temps pour s'adapter. Surtout quand ce n'a pas été son métier... Merci quand même.
 

Staple1600

XLDnaute Barbatruc
Re

Comme dans ton autre fil, ce qui compte c'est le point ;)
With Sheets("Feuil2")
'feuil2 est ma feuille de calcul Excel
'dans la cellule C6 il y a un nombre entier 23
'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 = .Range("C6").Value 'ici mettre un point à cause du With/End With
 

FOUQUET Yves

XLDnaute Occasionnel
OK je vois que cela passe à présent. Tout ça à cause d'un point!!

Un grand MERCI tout de même.
Une petite question subsidiaire...
Si je veux ajouter le nombre 7 à Nbr (7=ligne d'entéte) avant traitement de la suite la formule est:

Nbr = .Range(Nbr + 7).Value

Je range dans Nbr, Nbr + 7
???
 

harry226h

XLDnaute Junior
Essaie de mettre un contrôle sur le box date pour la rendre obligatoire ou la remplir automatiquement avec la date du jour, sinon si vide ton code plante.
 

FOUQUET Yves

XLDnaute Occasionnel
J'ai testé comme vous dites mais...

Dim Nbr As Integer
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 = .Range("C6").Value 'ici mettre un point à cause du With/End With
Nbr = .Range("C6") + 7

Là ça ne me prend que 7 et plus la valeur de Nbr
 

FOUQUET Yves

XLDnaute Occasionnel
Pour la date je verrai plus tard. Mais ce n'est pas simple pour moi.
Pour l'instant j'essaye de comprendre à travers cet exemple de petit programme...
Pour revenir ma ligne de saisie maintenant il fait qu'écrire sur la premier ligne du tableau après 7. Comme s'il ne prenait plus en compte Nbr...
Je craque... lol
 

FOUQUET Yves

XLDnaute Occasionnel
Bon ma saisie fonctionne à présent...
Je vais me lancer dans la procédure visant à remplir la colonne "compte" à partir du libellé de la Combobox de la nature...
Je vais encore me prendre la tête...
Puis il me faudra régler la date,
Puis quand il y a aucun montant de saisie alors j'ouvre une fenêtre d'alerte mais qui plante en sortie..

Merci de ton aide.
 

Staple1600

XLDnaute Barbatruc
Re

Juste pour infos
Et pour revenir aux us et coutumes du forum
Est-ce que tu as pris le temps de lire la charte du forum?
Si oui, est-ce que tu penses que ton fichier est "raccord" avec le point 1) de la charte?
;)

Sinon cette syntaxe n'est pas valide
Nbr = ActiveWorkbook.ActiveSheet.Cells(6, 3).Values
 

FOUQUET Yves

XLDnaute Occasionnel
Tu veux dire quoi par rapport à la charte du forum (que j'ai parcouru rapidement).
Sur le contenu de mon tableur?
 

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.
 

FOUQUET Yves

XLDnaute Occasionnel
Ce n'était pas un original et les données intérieures sont bidon Juste des essais de saisie pour tester mon userform.
Il n'y a que des paramètres eux aussi bidon, juste pour essai.
 

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)
 

Haut Bas