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 !
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.
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).
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 !!!
Est-ce que tu pourrais joindre ton fichier avec quelques lignes de données et le résultat souhaité. Ça permettrait de mieux comprendre où est ton combobox, où écrire les résultats, etc...
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
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:
PrivateSub ComboBox3_Change()Dim Annee AsIntegerDim rg As Range 'plage contenant les noms des élèvesSet 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 E6EndSub
¨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
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:
PrivateSub ComboBox3_Change()Dim Annee AsIntegerDim rg As Range 'plage contenant les noms des élèvesDim NbLignes AsIntegerSet 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 à gaucheSelectCase Annee
Case1: NbLignes =1Case2: NbLignes =84Case3: NbLignes =166Case4: NbLignes =248Case5: NbLignes =329EndSelect'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 D1EndSub
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
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
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.
- 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