Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 04/02/2010, 18h06   #1
Futur Membre du Club
 
Inscription : août 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 88
Points : 17
Points : 17
Par défaut Récupérer des valeurs dans une ligne dont une seule cellule est selectionnée

Bonjour,

J'ai un petit soucis!

Voilà, je souhaite récupérer via une macro des valeurs dans une ligne sur laquelle seule une cellule est active.
Je m'explique autrement :
je travaille sur les cellules d'une ligne, ex nom, prenom, adresse que je rempli au fur-et-à-mesure. Arrivée en fin de ligne, je souhaite, en lançant ma macro, qu'elle me recopie les différentes cellules de cette ligne.

La problématique, c'est que ce n'est pas toujours la même ligne.

Si quelqu'un pouvait me dire comment récupérer les valeurs des cellules de la ligne active, ça m'aiderait beaucoup

Cordialement,
Tommy
Tommy57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 18h53   #2
Membre habitué
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 103
Points : 103
Bonjour

Ci dessous un exemple de code pour les cellules de la ligne active

Code :
1
2
3
4
5
6
7
8
9
10
11
Dim cellule As Range
Dim nomfeuille1 As String
' pour boucler sur la colonne 1
 
With Sheets(ActiveSheet.Name)
 
For Each cellule In .Range("a" & ActiveCell.Row & ":h" & ActiveCell.Row)
 
'....................
Next cellule
End With
A tester

JP014
jp014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2010, 17h31   #3
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
bonjour Tommy57 jp014 le forum un exemple basique a adapter copy sur la sheets 2 colonne 1 a la suite

Code :
1
2
3
4
Sub es()
  Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, ActiveCell.Column)).Copy _
  Destination:=Sheets(2).Cells(Rows.Count, 1).End(xlUp)(2)
End Sub
en complement je suppose que tu renseignes a partir de la colonne A si pas colonne A suppose colonne C modifie comme cela 3 a place de 1 ect..

Code :
Range(Cells(ActiveCell.Row, 3), Cells(ActiveCell.Row, ActiveCell.Column)).Copy
__________________
SALUTATIONS

Dernière modification par laetitia ; 05/02/2010 à 17h44.
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2010, 19h39   #4
Futur Membre du Club
 
Inscription : août 2008
Messages : 88
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 88
Points : 17
Points : 17
Bonsoir et merci à tous les deux pour votre aide,

Cela répond parfaitement à mon besoin!

Je me permet deux questions, histoire de comprendre le fonctionnement du code

-Laetitia, à quoi correspond "End(xlUp)(2)"?
- jp014, comment interpréter "("a" & ActiveCell.Row & ":h" & ActiveCell.Row)
"?

Encore merci pour votre aide,
Cordialement,
Tommy57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2010, 20h37   #5
Membre Expert
 
Avatar de laetitia
 
Inscription : décembre 2002
Messages : 1 281
Détails du profil
Informations personnelles :
Âge : 21

Informations forums :
Inscription : décembre 2002
Messages : 1 281
Points : 1 363
Points : 1 363
re, que dit cette ligne ???
Code :
.Cells(Rows.Count, 1).End(xlUp)(2)
je selectionne la cellule en fonction de la row(ligne)1 en l'occurence 1=a end (xlup) la derniere rempli (2) pourquoi (2)!!
pour faire simple j'ecris (1) j'ecris sur la derniere ligne rempli en mettant 2 j'ecris sur la premiere ligne vide il faut comprendre la nuance
j'aurais pu ecrire en utilisant l'instruction offset

Code :
.Cells(Rows.Count, 1).End(xlUp).offset(1,0)
__________________
SALUTATIONS
laetitia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h25.


 
 
 
 
Partenaires

Hébergement Web