Pour une brève présentation du contexte, je suis un utilisateur lambda de excel, et je suis en train d'élaborer un fichier excel dans le but de faire de la gestion de locataires sur un chantier sur le lequel je suis en stage.
Il s'agit en réalité de créer une base de données dont la saisie se fait par l'intermédiaire d'un formulaire (userform). Je passe donc par de la programmation (de base) en VBA.
Ma liste de locataires était simplement une feuille excel remplie.
Chaque ligne correspond à un locataire différent.
Dans la colonne G, il y a "Lien vers la fiche d'Etat des Lieux"
Et c'etait cette cellule que je voulais rendre cliquable.
cela donne ça :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Plage As Range
Set Plage = Range("H9:H2000")
If Application.Intersect(Target, Plage) Is Nothing Then
Else
If ActiveCell.Value <> "" Then
Lignee_Planning = ActiveCell.Row
Range("E" & Lignee_Planning).Select
Recherche_Loc2 (Lignee_Planning)
End If
End If
End Sub
Une dernière chose pour parachever mon oeuvre
Comment effectuer une recherche dans une cellule fusionnée??
Pour être plus clair, j'ai la liste de mes locataires (1 ligne = 1 nom de locataire + un n° de logement).
J'ai un lien au bout de cette ligne pour afficher une autre feuille (un planning).
En cliquant sur ce lien, je voudrais que sur la feuille de planning soit sélectionnée la cellule contenant le nom et le n° de logement du locataire.
(Je suis suffisamment clair?)
Mon module1 donne ceci:
Sub Recherche_Loc2(Lignee_Planning)
B(0) = Lignee_Planning
B(1) = Range("E" & Lignee_Planning).Text 'Nom du locataire
B(2) = Range("D" & Lignee_Planning).Text 'Numéro logt du locataire
Sheets("Planning").Visible = True
Sheets("Planning").Select
Mot = B(1) & Chr(10) & "N° Logt: " & B(2)
Set NomLoc_Rech2 = Range("A:A").Find(Mot)
If NomLoc_Rech2 Is Nothing Then
MsgBox "ERREUR !", vbCritical, "Erreur"
Consultation 'Méthode qui renvoie au listing locataire
Else
NomLoc_Rech2.Select
End If
End Sub
Pour l'instant, à chaque fois que je clique dans la zone pour afficher le planning d'un locataire, il m'affiche le MsgBox Erreur...
La difficulté vient du fait que les cellules de la colonne "Nom" (Colonne A) sont sur 4 lignes fusionnées et que la cellule contient le nom, un numéro de logement et d'autres détails avec les sauts de ligne, comme ci-dessous: