Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

savoir se servir de offset

  • Initiateur de la discussion Initiateur de la discussion franck
  • Date de début Date de début
F

franck

Guest
bonsoir, j'ai essayé de me faire une petite macro avec un userform. La voici
private sub ok click()
worksheets(feuil1').select
range('a1').select
range('a2')= dte
range('b2')=prod
range('c2')=fourn
end sub

donc avec ceci je remplis un tableau et je voudrais mettre sur la ligne suivante de nouvelles informations. On m'a dit d'utiliser offset mais je débute dans les macros et je ne sais pas comment faire.

Merci de votre compréhension
 

pat1545.

XLDnaute Accro
Bonsoir;


offset = decaler en vBA, alors à partir de la cellule active, par exemple A1, offset(0,1).value, sera la valeur de B1, offset(4,3).value sera la valeur de la cellule située 4 lignes plus bas et 3 colonnes vers la droite.
Tu peux aussi avoir des offset négatif sauf, si bien sur tu est 'en bord' du tableau:
cells('B1').offset(-1,0) est incorrect car on parle alors de la cellule situé 1 ligne plus haut que 1, donc n'existe pas.
Voilà, attention offset est dans l'aide et tu y trouveras des infos intéressantes; autre remarque, offset ne déplace pas le curseur ou la cellule active mais va chercher l'info à partir de la cellule active, c'est différent.
Je passe le relais à qui le veux à présent

Patrick
 
M

Michou

Guest
bonsoir,
Voici la formule intégrée:

Private Sub ok_Click()
Sheets('feuil1').Activate
Range('a1').Select
Range('a1').Offset(1, 0).Value = 'fourn'
'se décaler sur la cellule A2
Range('a2').Offset(0, 1).Value = 'prod'
'se décaler sur la colonne B2
Range('B2').Offset(0, 1).Value = 'fourn'
'et ainsi de suite

End Sub
Bon courage
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Franck, Patrick, bonsoir le forum,

Bon alors je prends le relai Patrick, après tes excellentes explications.

Franck, il suffit d'indiquer à ton code de commencer sur la première cellule vide de la colonne A. Tu peux pour cela utiliser une variable et ensuite placer tes données dans le tableau en fonction de cette variable. Par exemple, en reprenant ton code de base :
(t'affole pas, si tu effaces tous les commentaires la macro fait à peine quelques lignes...)



Avec ce système tes données sont toujours placées sur la première ligne vide rencontrée.

Édition :
Ooops, bonsoir Michou on s'est croisés. Mais je crois que tu ne répondais pas excatement aux attentes de Franck...

Message édité par: Robert, à: 09/03/2006 00:07
 

Discussions similaires

Réponses
4
Affichages
477
Réponses
2
Affichages
449
Réponses
12
Affichages
811
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…