valeur dans cellule a gauche

  • Initiateur de la discussion Initiateur de la discussion breeze
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

breeze

XLDnaute Occasionnel
Bonsoir,
Je voudrais savoir comment peut-on écrire dans une macro "Si la valeur de la cellule à gauche est égale à 1"
Un genre de rechercheV mais qui pourrait aller chercher la valeur dans la colonne à gauche.

Merci
 
Re : valeur dans cellule a gauche

Re-bonsoir,

Une autre façon de faire avec une cellule nommée.
Tu te places en B1 (ou dans n'importe quelle cellule sauf dans la colonne A), et tu vas dans le gestionnaire de noms (CTRL + F3).
Tu crées un nouveau nom que tu appelles "CelluleGauche" (par exemple).
Dans "Fais référence à : ", tu écris =A1 (sans les $). (ou =C2 si tu te trouve en D2)

Ensuite, tu retournes dans ta cellule B1 et tu écris :
Code:
=SI(CelluleGauche=1,"C'est un 1","C'est pas un 1")


(Note: peu importe la cellule où tu te trouves, si tu choisis la plage nommée "CelluleGauche", tu vas automatiquement te déplacer à la cellule de gauche voisine car la référence créée est relative).

A+
 
Re : valeur dans cellule a gauche

Salut,
j'ai un autre probleme. Je vous explique ce que je voludrais.
J'ai une liste d'élève en d6:d400
J'ai l'année scolaire en c6:c400
J'ai un combobox associé à la liste d6:d400

Ce que je veux c'est:
Recherche le nom qui s'affiche dans la combobox dans la liste d6:d400
Si la valeur de la cellule à gauche (c6:c400) est = à 1 inscrit ce nom en e6
Si la valeur de la cellule à gauche est = à 2 inscrit ce nom dans f6
si la valeur de la cellule à gauche est = à 3 inscrit ce nom en g6
même chose si =4, si =5
ESt-ce possible ???

Merci à l'avance pour votre aide très appréciée !!!
 
Re : valeur dans cellule a gauche

Malheureusement mon fichier fait 13 mo il est dure de l'envoyer.
Si on oublie la combobox, y a -t-il un facon d'écrire la fonction que je veux
Ma combobox est dans une userform. j'utilise cette macro

Private Sub ComboBox3_Change()

On Error Resume Next

Sheets("feuil2").Select

Range("e6").Value = ComboBox3.Value

End Sub
Ce que je voudrais ajouter c'est que le nom ne soit pas nécessairement afficher en E6.
Si l'élève dont le nom figure dans la combobox est en 1iere année année que son nom s'affiche en E6
s'il est en 2ième année qu'il s'affiche en F6
en 3ième année en g6
 
Re : valeur dans cellule a gauche

Bonjour Breeze,

Ok, c'est plus clair maintenant. J'espère que ceci fera l'affaire, en intégrant les fonctions FIND et OFFSET à ta macro:

VB:
Private Sub ComboBox3_Change()
Dim Annee As Integer
Dim rg As Range 'plage contenant les noms des élèves

Set rg = Sheets("Feuil2").Range("D6:D400")   'plage contenant les noms des élèves
Annee = rg.Find(ComboBox3.Value).Offset(0, -1).Value 'année se trouve 1 colonne à gauche

Sheets("Feuil2").Range("e6:i6").ClearContents   'pour vider le contenu
Sheets("Feuil2").Range("e6").Offset(0, Annee - 1).Value = ComboBox3.Value       '-1 car on part de E6

End Sub

A+
 
Re : valeur dans cellule a gauche

¨ca ne fonctionne
Mais si mes cellules nétaient pas contiue.
Si les cellules dans les quelles je veux voir apparaitre lesnoms sont d2 d85 d167 d249 d330
est-ce que ta macro pourrait faire?
J'ai essayer de la comprendre pour la modifier mais je n'y arrive pas
Merci infiniement tu m'aides beaucoup
 
Dernière édition:
Re : valeur dans cellule a gauche

Quelle est le lien entre ta liste d'élèves et l'emplacement où tu veux voir les noms apparaître? Il ne semble pas y avoir de logique entre les cellulles D2, D85 , ... Le nombre de ligne entre chaque n'est pas constant.

Une proposition :

VB:
Private Sub ComboBox3_Change()
Dim Annee As Integer
Dim rg As Range 'plage contenant les noms des élèves
Dim NbLignes As Integer


Set rg = Sheets("Feuil2").Range("D6:D400")   'plage contenant les noms des élèves
Annee = rg.Find(what:=ComboBox3.Value, LookIn:=xlValues, lookat:=xlWhole).Offset(0, -1).Value  'année se trouve 1 colonne à gauche

Select Case Annee
    Case 1: NbLignes = 1
    Case 2: NbLignes = 84
    Case 3: NbLignes = 166
    Case 4: NbLignes = 248
    Case 5: NbLignes = 329
End Select


'Sheets("Feuil2").Range("e6:i6").ClearContents   'pour vider le contenu - ne sert plus à rien on peut effacer
Sheets("Feuil2").Range("D1").Offset(NbLignes, 0).Value = ComboBox3.Value      'On part de D1

End Sub

A tester.
 
Re : valeur dans cellule a gauche

Salut,
Pour faire une histoire courte et comme tu m'es d'un aide très précieux.
Je suis à faire un fichier pour le financement des activités étudiantes de mon école.
Ce que je veux faire c'est un genre de bilan ou de facture pour chaque élève tout au long de son secondaire.
Cependant comme il y a de nouveau élève à chaque année Je veux que chaque élève ai une facture couvrant ces 5 années.
J'ai donc fait 5 modèles de factures différentes :
Une avec les années 2011-2012, 2012-2013, 2013-2014 , 2014-2015 et 2015-2016
la deuxième facture commence en 2012 et se termine en 2017
la troisième facture commence en 2013 et se termine en 2018 etc...

Les factures étant une en dessous des autres le première commence à la ligne 2 et se termine à la ligne 84
la 2ième 85 à 166
ainsi de suite.
Je ne sais pas si tu comprends mieux, mais je tiens à te dire que ta macro fonctionne à merveille et une fois de plus tu m'as été d'une aide précieux

😀Merci mille fois😀
 
Re : valeur dans cellule a gauche

ESt-ce que je peux abuser de ta patience et de ton talent ???
Comme mes factures sont une en dessous des autres soit de la ligne 3 à 82 pour la première, de la ligne 85 à 164 pour la 2ième,
de la ligne 167 à 246, de 249 à 328 et de 331 à 410
Peut-on ajouter une tâche à la macro qui dirait si tu as mis le nom en d3 fait en sorte que d3 soit au haut de l'écran. Si tu as mis le nom en d85 fait apparaitre la ligne 85 en haut de l'écran etc.. Un genre de scroll
ESt-possible ???
Merci à l'avance
 
Re : valeur dans cellule a gauche

Tu pourrais ajouter ces 2 lignes à la fin de la macro :

Code:
Range("D1").Offset(NbLignes + 20, 0).Select 'choisi une cellule en bas, chiffre 20 à changer selon écran
Range("D1").Offset(NbLignes, 0).Select 'pour se positionner sur la bonne cellule

Je ne suis pas habitué de travailler avec les scroll alors j'utilise cette passe-passe : la macro sélectionne une cellule situé 20 lignes dessous (pour que la bonne cellule soit en haut) et finalement on se repositionne sur la bonne cellule. Note : le chiffre 20 est à adapter. Dans mon cas, la "bonne cellule" apparait sur la 3e ligne à partir du haut.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
58
Réponses
8
Affichages
136
Retour