Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 :
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
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
jpmonnier-no-spam@neuf.fr
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" <jureal@gmail.com> a écrit dans le message de
news:eU87k2xFJHA.4056@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
Je viens de découvrir cette ligne grâce à internet :
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 :
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
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
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
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
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
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
jpmonnier-no-spam@neuf.fr
"JR" <jureal@gmail.com> a écrit dans le message de
news:%23wk%23HcyFJHA.5224@TK2MSFTNGP03.phx.gbl...
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
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
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
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
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
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
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
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
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
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
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