Récapitulatif de valeurs d'une feuille à une autre

G

Gérard Dezamis

Guest
Bonjour le Forum

Une belle démonstration de Thierry USF Rudiments Basic comme ci-dessous :
'ici c'est ce qui se passe quand on click sur le Bouton "Validation"
Private Sub CommandButton1_Click()
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne Numéro


'ici je repère la dernière ligne vide pour la Collections des données
L = Sheets("Collection").Range("C65536").End(xlUp).Row + 1

'ici un Test exemple pour la TextBox1, si elle est vide on est viré !!!
If TextBox1 = "" Then
MsgBox "Vous n'avez rien saisi dans la textBox1 !"
TextBox1.SetFocus
Exit Sub
End If

'Pour voir se qui se passe je bascule sur la feuille "Collection"
Sheets("Collection").Activate

'Ici c'est le report de la saisie dans la feuille
With Sheets("Collection")
.Range("C" & L).Value = TextBox1.Value
.Range("D" & L).Value = TextBox2.Value
.Range("E" & L).Value = TextBox3.Value
End With

'Ici je vide les trois TextBox
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""

'ici je remets le curseur en textbox1
TextBox1.SetFocus
End Sub

Fonctionne à merveille. Comme d'habitude .....Un grand Merci au passage.

J'essaye de la transformer pour conserver le même principe mais sans utiliser de Userform. C'est à dire que mes données sont éparses (c'est une sorte de formulaire) dans une feuille et doivent se ranger gentillement dans la feuille Collection bien en ligne. (macro sera placée dans un bouton) et ma feuille originelle vidée de son contenu.
Je pensais remplacer "simplement" TextBox1. Value" par Range("Date").value par exemple cette cellule nommée qui contient une date. et ainsi de suite (Textbox2. Value par Range("C32").value ... etc) mais cette substitution ne fonctionne pas.
Qui pourrait m'aider ? Il me manque encore pas mal de marche pour atteindre même la .... VBA (Véritable Basique Attitude)
Vous en remerciant par avance.
Bien cordialement
@+
GD
 
F

Frédéric

Guest
si tes données à récupérer ne sont pas sur la meme feuille, il faut spécifier où elles se situent :
Sheets("collection").select
Range("C" & L).Value = Sheets("formulaire").Range("Date").value

Si cela ne répond pas à ton pb, alors joint ton fichier zippé avec plus d'explication sur ce que tu veux faire, et j'essaierais de voir.
 
G

Gérard Dezamis

Guest
Bonsoir Frederic

Merci d'avance du coup d'oeil (pas d'ironie SVP) que tu vas jetter sur mon essai

A bientôt j'espère

@+ GD
 

Pièces jointes

  • Contacts.zip
    12.3 KB · Affichages: 17
  • Contacts.zip
    12.3 KB · Affichages: 17
  • Contacts.zip
    12.3 KB · Affichages: 17
M

michel

Guest
bonjour Gerard , bonjour Frederic

Gerard , pour completer le message de Frederic , ton principe de macro fonctionne tres bien , tu as simplement oublié de nommer la cellule "Heure" dans la feuille "Formulaire"

remarque : les macros n'aiment pas trop les cellules fusionnées . Tu devras remplacer
Range("Date").ClearContents
par
Range("Date")=""


bonne soiree
MichelXld
 
G

Gérard Dezamis

Guest
Bonsoir Fréderic

main3.gif


Mon cher Michel

le que tu as porté sur mon essai a vu .........juste !

A tous les deux, Merci de votre Aide​

VBA
= Véritablement Bien Adaptée
je ne manquerai pas de vous appeler au secours de nouveau dès ma prochaine cagatte

Bien Amicalement

@+ GD
 

Discussions similaires

Réponses
6
Affichages
281

Statistiques des forums

Discussions
312 452
Messages
2 088 541
Membres
103 879
dernier inscrit
JJB2