Passage d'une feuille à une autre

  • Initiateur de la discussion Initiateur de la discussion Chouchane
  • 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 !

C

Chouchane

Guest
Bonjour à tous

J'ai un petit pb pour écrire une macro excel.

Je souhaite:
- Regarder dans la cellule A1 de la feuille 2
- Comparer ce qu'il y a dans cette cellule avec ce qui se trouve dans la cellule A1 de la feuille 1
- Ecrire "ok" dans la cellule B1 si il y a la meme chose dans les 2 cellules

Je ne veux jamais ecrire quoique ce soit quelque part d'autre.

Merci d'avance et bonne semaine à tous

Chouchane
 
Salut Chouchane, salut le forum

tu n'as pas précisé dans quelle feuille tu voulais écrire "OK". Je te l'ai mis dans la feuille 1. Modifie la macro si ça va pas...


Public Sub ok()
If Sheets("Feuil1").Range("A1").Value = _
Sheets("Feuil2").Range("A1").Value Then
Sheets("Feuil1").Range("B1").Value = "ok"
End If
End sub

À plus,

Robert
 
Merci beaucoup c super!

J'ai encore une autre question : si je veux par exemple que B2 prenne toujours la valeur B1 meme si je modifie la valeur de B1 apres execution de la macro, que dois-je faire?

(Je suppose que dans l'expression :
Sheets("Feuil1").Range("B2").Value
il faut modifier value par autre chose, mais quoi?)

Merci encore

Chouchane
 
Merci d'avoir répondu et aussi vite, mais en fait ce que je veux c'est que B2 prenne sa valeur initiale * B1

On peut faire :
Range("B2") = Range("B2") * Range("B1")

Le problème c'est que si je mofifie B1 après l'exécution de la macro, B2 ne varie pas...

Merci d'avance

Chouchane
 
Re...

Hé oui, directement dans la cellule, tu obtiens une référence circulaire et Excel n’aime pas ça du tout.

Il y a la possibilité d’utiliser ton code à chaque changement de la cellule active. Pour cela :
Copie le code ci-dessous. Ouvre VBE. Double clique sur la feuille contenant B1 et B2. Clique dans le grand cadre à droite et colle le code.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("B2") = Range("B2") * Range("B1")
End Sub

À plus,

Robert
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour