Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

première ligne vide

6 réponses
Avatar
JR
Bonjour à tous,

Je viens de découvrir cette ligne grâce à internet :

"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select"

qui me permet de sélectionner la première cellule vide la colonne A pour
y faire mes petites opérations.

A vrai dire, je comprends tout sauf cette fonction offset.

Quelqu'un peut-il m'aider?

Deuxième question pour les courageux :) :

Comment donner une valeur à une variable X telle que celle-ci contienne
la valeur de la cellule sélectionner grâce au code précédent?

Je vous souhaite à toutes et à tous un très bonaprès midi (et un bon
repas aussi :) )

Merci d'avance.

Julien

6 réponses

Avatar
Jpmonnier
Bonjour, Offset décale aini :
Activecell.offset(1,0) décale la cellule active de 1 ligne vers le bas
Activecell.offset(-1,0) décale la cellule active de 1 ligne vers le haut
Activecell.offset(1,1) décale la cellule active de 1 ligne vers le bas et
une colonne vers la droite

La variable X prendra la valeur de la cellule selectionnée
Comme ceci
X= Activecell
ou alors il faut ajouter un code dans ta feuille sous VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = ActiveCell.Address Then
If ActiveCell <> "" Then
x = ActiveCell.Value
MsgBox "X= " & x
End If
End If
End Sub

--
Cordialement

Ce qui signifie que si tu tu changes une valeur dans une cellule, umessage
te renverras la valeur de la cellule



en l'ocurence,X sera = à rien, la cellule selectionnée étant une cellule
vide
"JR" a écrit dans le message de
news:
Bonjour à tous,

Je viens de découvrir cette ligne grâce à internet :

"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select"

qui me permet de sélectionner la première cellule vide la colonne A pour y
faire mes petites opérations.

A vrai dire, je comprends tout sauf cette fonction offset.

Quelqu'un peut-il m'aider?

Deuxième question pour les courageux :) :

Comment donner une valeur à une variable X telle que celle-ci contienne la
valeur de la cellule sélectionner grâce au code précédent?

Je vous souhaite à toutes et à tous un très bonaprès midi (et un bon repas
aussi :) )

Merci d'avance.

Julien


Avatar
JR
Merci pour votre réponse M. Monnier,

Le fait que dans le code
"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select" , la fonction
offset n'a pas de second argument, cela change-t-il quelque chose?

Autre chose,

Imaginons que dans ma colonne A, les cellules A1 à A3 soient remplies,
les cellules A4 à A6 soient vides et les cellules A7 à A11 soient pleines.

Quelle astuce puis-je utiliser pour soit

1)Activer la cellule A4 pour pouvoir écrire dedans
ou
2)Activer la cellule A12 pour pouvoir écrire dedans

Cordialement,

Julien

Jpmonnier a écrit :
Bonjour, Offset décale aini :
Activecell.offset(1,0) décale la cellule active de 1 ligne vers le bas
Activecell.offset(-1,0) décale la cellule active de 1 ligne vers le haut
Activecell.offset(1,1) décale la cellule active de 1 ligne vers le bas
et une colonne vers la droite

La variable X prendra la valeur de la cellule selectionnée
Comme ceci
X= Activecell
ou alors il faut ajouter un code dans ta feuille sous VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = ActiveCell.Address Then
If ActiveCell <> "" Then
x = ActiveCell.Value
MsgBox "X= " & x
End If
End If
End Sub



Avatar
Jpmonnier
le fait que Offset n'ait qu'un argument, nest pas gènant,le premier argument
étant la ligne et le 2ème la colonne

pour selectionner ta ligne a saisir, essaie ceci

Sub LigVide()
For Each n In [a1:a100]
Application.ScreenUpdating = False
If n = "" Then
Application.ScreenUpdating = True
n.Select
If MsgBox("adresse OK, Clicker sur OUI", vbYesNo) = Vbyes Then
Exit Sub
End If
Application.ScreenUpdating = False
End If
Next
End Sub

--
Cordialement


"JR" a écrit dans le message de
news:%23wk%
Merci pour votre réponse M. Monnier,

Le fait que dans le code
"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select" , la fonction
offset n'a pas de second argument, cela change-t-il quelque chose?

Autre chose,

Imaginons que dans ma colonne A, les cellules A1 à A3 soient remplies, les
cellules A4 à A6 soient vides et les cellules A7 à A11 soient pleines.

Quelle astuce puis-je utiliser pour soit

1)Activer la cellule A4 pour pouvoir écrire dedans
ou
2)Activer la cellule A12 pour pouvoir écrire dedans

Cordialement,

Julien

Jpmonnier a écrit :
Bonjour, Offset décale aini :
Activecell.offset(1,0) décale la cellule active de 1 ligne vers le bas
Activecell.offset(-1,0) décale la cellule active de 1 ligne vers le haut
Activecell.offset(1,1) décale la cellule active de 1 ligne vers le bas et
une colonne vers la droite

La variable X prendra la valeur de la cellule selectionnée
Comme ceci
X= Activecell
ou alors il faut ajouter un code dans ta feuille sous VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = ActiveCell.Address Then
If ActiveCell <> "" Then
x = ActiveCell.Value
MsgBox "X= " & x
End If
End If
End Sub





Avatar
Misange
Bonjour

le (1) c'est encore un coup des items comme dirait Laurent Longre. JE
t'invite à aller lire sur cette page
http://www.excelabo.net/excel/lexique.php#item
ses explications détaillées ! Ca vaut le coup.


si tu fais
Range("A1").End(xlDown).offset(1,0)) tu trouves la première cellule vide
en partant du haut donc en A4
range("A65536").end(xlup).offset(1,0) te mets sur la première cellule
vide en partant du bas donc en A12
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

JR a écrit :
Merci pour votre réponse M. Monnier,

Le fait que dans le code
"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select" , la fonction
offset n'a pas de second argument, cela change-t-il quelque chose?

Autre chose,

Imaginons que dans ma colonne A, les cellules A1 à A3 soient remplies,
les cellules A4 à A6 soient vides et les cellules A7 à A11 soient pleines.

Quelle astuce puis-je utiliser pour soit

1)Activer la cellule A4 pour pouvoir écrire dedans
ou
2)Activer la cellule A12 pour pouvoir écrire dedans

Cordialement,

Julien

Jpmonnier a écrit :
Bonjour, Offset décale aini :
Activecell.offset(1,0) décale la cellule active de 1 ligne vers le bas
Activecell.offset(-1,0) décale la cellule active de 1 ligne vers le haut
Activecell.offset(1,1) décale la cellule active de 1 ligne vers le bas
et une colonne vers la droite

La variable X prendra la valeur de la cellule selectionnée
Comme ceci
X= Activecell
ou alors il faut ajouter un code dans ta feuille sous VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = ActiveCell.Address Then
If ActiveCell <> "" Then
x = ActiveCell.Value
MsgBox "X= " & x
End If
End If
End Sub





Avatar
JR
Je teste ça ce soir merci :)

Jpmonnier a écrit :
le fait que Offset n'ait qu'un argument, nest pas gènant,le premier
argument
étant la ligne et le 2ème la colonne

pour selectionner ta ligne a saisir, essaie ceci

Sub LigVide()
For Each n In [a1:a100]
Application.ScreenUpdating = False
If n = "" Then
Application.ScreenUpdating = True
n.Select
If MsgBox("adresse OK, Clicker sur OUI", vbYesNo) = Vbyes Then
Exit Sub
End If
Application.ScreenUpdating = False
End If
Next
End Sub



Avatar
JR
Merci Misange, site mis en favoris :)

Vive les item!!!
Misange a écrit :
Bonjour

le (1) c'est encore un coup des items comme dirait Laurent Longre. JE
t'invite à aller lire sur cette page
http://www.excelabo.net/excel/lexique.php#item
ses explications détaillées ! Ca vaut le coup.


si tu fais
Range("A1").End(xlDown).offset(1,0)) tu trouves la première cellule vide
en partant du haut donc en A4
range("A65536").end(xlup).offset(1,0) te mets sur la première cellule
vide en partant du bas donc en A12
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

JR a écrit :
Merci pour votre réponse M. Monnier,

Le fait que dans le code
"ActiveSheet.Range("A1").End(xlDown).Offset(1).Select" , la fonction
offset n'a pas de second argument, cela change-t-il quelque chose?

Autre chose,

Imaginons que dans ma colonne A, les cellules A1 à A3 soient remplies,
les cellules A4 à A6 soient vides et les cellules A7 à A11 soient
pleines.

Quelle astuce puis-je utiliser pour soit

1)Activer la cellule A4 pour pouvoir écrire dedans
ou
2)Activer la cellule A12 pour pouvoir écrire dedans

Cordialement,

Julien

Jpmonnier a écrit :
Bonjour, Offset décale aini :
Activecell.offset(1,0) décale la cellule active de 1 ligne vers le bas
Activecell.offset(-1,0) décale la cellule active de 1 ligne vers le haut
Activecell.offset(1,1) décale la cellule active de 1 ligne vers le
bas et une colonne vers la droite

La variable X prendra la valeur de la cellule selectionnée
Comme ceci
X= Activecell
ou alors il faut ajouter un code dans ta feuille sous VBA
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = ActiveCell.Address Then
If ActiveCell <> "" Then
x = ActiveCell.Value
MsgBox "X= " & x
End If
End If
End Sub