re lucie, pat
je vais essayer d'etre pédagogique, c'est pas gagné :
pour le code te permettant de trouver la cellule suivant le choix en e3, fait clique droit sur le nom de ton onglet, puis visualiser le code.
tu va trouver ca :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = 'E3' Then
Columns(1).Find(Target).Select
End If
End Sub
ici, il s'agit d'une macro evenementielle qui ne réagit qu'au changement de valeur sur la feuille.
If Target.Address(0, 0) = 'E3' Then=== si la cellule modifié (target) porte comme addresse (address(0,0)) E3 alors (then)
Columns(1).Find(Target).Select === recherche (find) dans la colonne 1 (columns(1)) la valeur de la cellule modifié(target) et sélectionne là (select)
voilà pour ceci.
pour ta deuxième demande (fait at + f11 depuis excel et choisi le module 1) :
Select Case Range('d22')
Case Is 65536: Exit Sub
Case IsNumeric(Range('d22')): Exit Sub
End Select
Cells(Range('d22'), 1).Select
il te faut simplement comprendre que la selection de la ligne se fait par ce code :
Cells(Range('d22'), 1).Select===cellule(ligne, colonne).sélectionner
le numéro de la ligne nous est donné par la valeur de la cellule d22, et la colonne, j'ai choisi la A(1)
mais il faut avant vérifier que l'utilisateur n'a pas saisi n'importe quoi en d22 (un chiffre négatif ou du texte) sinon la macro bugge.
c'est l'objectif de ce code :
Select Case Range('d22')
Case Is 65536: Exit Sub
Case IsNumeric(Range('d22')): Exit Sub
End Select
en somme :
suivant le cas saisie en d22 fais ceci...
si la valeur est inférieur à 1 on arrete la macro, idem si elle est supérieur à 65536 pareil également si la cellule ne contient pas du numérique.
voilà
j'espère t'avoir aidé.
salut