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

A

alocator

Guest
Bonjour à tous,
l'élaboration du fichier avance. Je viens de découvrir qu'il était possible d'insérer une fonction si dans une macro (si si 🙂).

Après une soirée entière devant l'ordi à tenter de rédiger correctement une formule qui au total doit probablement faire une seule ligne, je vous laisse ce message avec au bout du compte la question qui tue : mais comment faire ???!!!

Alors le but de la manoeuvre est le suivant :
- copier une plage de cellule dans une feuille A.
- aller dans la feuille B
- vérifier si la cellule A3 est vide (cette cellule contiendra ou non du texte)
- si oui : coller la plage initialement copiée à partir de la cellule A1
- si non : coller cette même plage à partir de la cellule M1

Je n'ai pas le fichier test sur cet ordi, il est resté sagement au bureau mais j'espère que le descriptif ci dessus vous aidera à répondre à cette fameuse citée en amont.

Au pire, je pourrai le rajouter demain matin.

Merci pour votre aide,
Sébastien

Ps : c'est marrant les macros, mais faut comprendre la logique ... 🙂
 
Re : Macro if

Bonsoir Alocator,

Tu peux essayer avec
Code:
Sub Copie()
  If IsEmpty(Sheets("B").Range("A3")) Then
    Sheets("A").Range("A2:F10").Copy Destination:=Sheets("B").Range("A1")
  Else
    Sheets("A").Range("A2:F10").Copy Destination:=Sheets("B").Range("M1")
  End If
End Sub

PS : pour copier coller une plage, tu n'es pas obligé de changer de feuille

A+
 
Re : Macro if

Bonsoir alocator,

Ceci devrait le faire :

VB:
 Worksheets("Feuil1").Range("A1:E15").Copy
    Sheets("Feuil2").Select
If Worksheets("Feuil2").Range("A3").Value = "" Then Range("A1").Select Else Range("M1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

Bonsoir Bruno, nos réponse ce sont croisées, et dire que je m'embétais a changer de feuille pour le "paste" alors que c'est si simple
 
Dernière édition:
Re : Macro if

Bonsoir le fil, bonsoir le forum,

Tout est déjà dit ! Juste une nuance...
Code:
With Sheets("B")
Sheets("A").Range("A2:F10").Copy Destination:=IIf(.Range("A3").Value = "", .Range("A1"), .Range("M1"))
End With
 
- 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

Réponses
8
Affichages
652
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
906
Réponses
12
Affichages
1 K
Réponses
7
Affichages
815
Retour