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 !

Olyxier

XLDnaute Occasionnel
Bonjour le Forum
voici un code de feuille qui me sert à recopier une partie de ma feuille dans une autre partie de la feuille lorsque
je met un 1 dans la case GB5 ou un 2 ou un 3 ect... le code s'execute le truc s'est que j'arrive à le faire marcher
en code de feuille mais lorsque je veus faire une macros qui le ferais je n'y arrive pas le truc serais que si il y a
un 1 dans la case GB5 lorsque je clic sur le bouton de ma macros le code pour la case 1 s'execute en ce moment lorque
je clic sur le bouton le debogeur se declanche et me dit ELSE sans IF
merci à vous et bonne journée

Sub ESSAI()

ElseIf Target.Address(0, 0) = "GB5" Then

Select Case Range("GB5").Value

Case 1
Range("A137").Copy Range("GG4")
Range("B137").Copy Range("GP4")
Range("B138").Copy Range("GL4")
Range("O105").Cut Range("GT4")
Range("G137").Copy Range("GH4")
Case 2
Range("A143").Copy Range("GG4")
Range("B143").Copy Range("GP4")
Range("B144").Copy Range("GL4")
Range("O106").Cut Range("GT4")
Range("G143").Copy Range("GH4")
Case 3
Range("A149").Copy Range("GG4")
Range("B149").Copy Range("GP4")
Range("B150").Copy Range("GL4")
Range("O107").Cut Range("GT4")
Range("G149").Copy Range("GH4")
 
Re : faire une Macros

Bonjour pierrot
Voici mon code au complet le debogeur me dit Erreur de compilation Else sans If
merci @+
Sub X()

If test = True Then Exit Sub
test = True 'définit la variable test

ElseIf Target.Address(0, 0) = "GB5" Then

Select Case Range("GB5").Value



Case 1
Range("A137").Copy Range("GG4")
Range("B137").Copy Range("GP4")
Range("B138").Copy Range("GL4")
Range("O105").Cut Range("GT4")
Range("G137").Copy Range("GH4")
Case 2
Range("A143").Copy Range("GG4")
Range("B143").Copy Range("GP4")
Range("B144").Copy Range("GL4")
Range("O106").Cut Range("GT4")
Range("G143").Copy Range("GH4")
Case 3
Range("A149").Copy Range("GG4")
Range("B149").Copy Range("GP4")
Range("B150").Copy Range("GL4")
Range("O107").Cut Range("GT4")
Range("G149").Copy Range("GH4")
Case 4
Range("A155").Copy Range("GG4")
Range("B155").Copy Range("GP4")
Range("B156").Copy Range("GL4")
Range("O108").Cut Range("GT4")
Range("G155").Copy Range("GH4")
Case 5
Range("A161").Copy Range("GG4")
Range("B161").Copy Range("GP4")
Range("B162").Copy Range("GL4")
Range("O109").Cut Range("GT4")
Range("G161").Copy Range("GH4")
Case 6
Range("A167").Copy Range("GG4")
Range("B167").Copy Range("GP4")
Range("B168").Copy Range("GL4")
Range("O110").Cut Range("GT4")
Range("G167").Copy Range("GH4")
Case 7
Range("A173").Copy Range("GG4")
Range("B173").Copy Range("GP4")
Range("B174").Copy Range("GL4")
Range("O111").Cut Range("GT4")
Range("G173").Copy Range("GH4")
Case 8
Range("A179").Copy Range("GG4")
Range("B179").Copy Range("GP4")
Range("B180").Copy Range("GL4")
Range("O112").Cut Range("GT4")
Range("G179").Copy Range("GH4")
Case 9
Range("A185").Copy Range("GG4")
Range("B185").Copy Range("GP4")
Range("B186").Copy Range("GL4")
Range("O113").Cut Range("GT4")
Range("G185").Copy Range("GH4")
Case 10
Range("A191").Copy Range("GG4")
Range("B191").Copy Range("GP4")
Range("B192").Copy Range("GL4")
Range("O114").Cut Range("GT4")
Range("G191").Copy Range("GH4")
Case 11
Range("A197").Copy Range("GG4")
Range("B197").Copy Range("GP4")
Range("B198").Copy Range("GL4")
Range("O115").Cut Range("GT4")
Range("G197").Copy Range("GH4")
Case 12
Range("A203").Copy Range("GG4")
Range("B203").Copy Range("GP4")
Range("B204").Copy Range("GL4")
Range("O116").Cut Range("GT4")
Range("G203").Copy Range("GH4")
Case 13
Range("A209").Copy Range("GG4")
Range("B209").Copy Range("GP4")
Range("B210").Copy Range("GL4")
Range("O117").Cut Range("GT4")
Range("G209").Copy Range("GH4")
Case 14
Range("A215").Copy Range("GG4")
Range("B215").Copy Range("GP4")
Range("B216").Copy Range("GL4")
Range("O118").Cut Range("GT4")
Range("G215").Copy Range("GH4")
Case 15
Range("A221").Copy Range("GG4")
Range("B221").Copy Range("GP4")
Range("B222").Copy Range("GL4")
Range("O119").Cut Range("GT4")
Range("G221").Copy Range("GH4")
Case 16
Range("A227").Copy Range("GG4")
Range("B227").Copy Range("GP4")
Range("B228").Copy Range("GL4")
Range("O120").Cut Range("GT4")
Range("G227").Copy Range("GH4")
Case 17
Range("A233").Copy Range("GG4")
Range("B233").Copy Range("GP4")
Range("B234").Copy Range("GL4")
Range("O121").Cut Range("GT4")
Range("G233").Copy Range("GH4")
Case 18
Range("A239").Copy Range("GG4")
Range("B239").Copy Range("GP4")
Range("B240").Copy Range("GL4")
Range("O122").Cut Range("GT4")
Range("G239").Copy Range("GH4")
Case 19
Range("A245").Copy Range("GG4")
Range("B245").Copy Range("GP4")
Range("B246").Copy Range("GL4")
Range("O123").Cut Range("GT4")
Range("G245").Copy Range("GH4")
Case 20
Range("A251").Copy Range("GG4")
Range("B251").Copy Range("GP4")
Range("B252").Copy Range("GL4")
Range("O124").Cut Range("GT4")
Range("G251").Copy Range("GH4")
Application.CutCopyMode = False

End If

test = False 'redéfinit la variable test
End Select
End Sub
 
Dernière édition:
Re : faire une Macros

Re

j ai un doute tout d'un coup, suis pas sur que tu ais voulu utiliser le "elseif" finalement et en plus qu'il fonctionne avec un "select case" derrière, si la première solution ne marche pas essaye celui ci :

Code:
Sub X()
If test = True Then
    Exit Sub
    test = True 'définit la variable test
Else
    If Target.Address(0, 0) = "GB5" Then
        Select Case Range("GB5").Value
            Case 1
            Range("A137").Copy Range("GG4")
            Case 2
            Range("A143").Copy Range("GG4")
        
        End Select
        Application.CutCopyMode = False
    End If
End If
test = False 'redéfinit la variable test
End Sub

Mais bon sans fichier c'est un peu comme sans filet...

@+
 
Re : faire une Macros

?????????????
Là je suis désolé mais pour moi ce que tu dit est du chinois
parcontre ce que je sais c'est que lorsque je met mon code sur une feuille en cliquant sur l'onglet de la feuille est en la mettant dans la page visualiser le code sa marche mais moi je voudrais mettre ce code dans une macros dans le registre nouvelle macros (le rond rouge ) et l'associer à un bouton placé sur ma feuille
merci de me former de jour en jour !!!!!!!!
 
Re : faire une Macros

Re

et ton "Target" il sort d'où ? il représente quoi pour toi ?

A mon avis il faut commencer par mettre ton code dans un module standard peut être !!! mais mets le fichier en pièce jointe on y verra plus clair.

@+

Edition Au final le but c'est quoi ?
 
Re : faire une Macros

Pierrot93 à dit:
Re

et ton "Target" il sort d'où ? il représente quoi pour toi ?

A mon avis il faut commencer par mettre ton code dans un module standard peut être !!! mais mets le fichier en pièce jointe on y verra plus clair.

@+

Edition Au final le but c'est quoi ?


OK voilà au moins 2 heures que je suis a la ramasse à essayer de trouver ou est le probleme et je me casse les dents je te joins donc une partie de ma feuille le code est dans la feuille mais je ne peu pas le mettre en code avec le bouton essai

dans les cases bleus tapes au choix 1 ou 2 ou 3 puis essai de taper sur le bouton ESSAI moi dijoncte
 

Pièces jointes

Dernière édition:
Re : faire une Macros

Re Olyxier

Oui, c'est donc bien une procédure évènementielle, elle se déclanche a chaque fois que tu fais un changement sur la feuille. Target en fait représente la cellule modifiée, cette variable est définie par la procédure, si tu sors de ce contexte, il faut faire autrement.

j'ai donc supprimer le module standard et le bouton.

J'ai modifié le code et ca a l'air de marcher normalement.

Bonne soirée
@+
 

Pièces jointes

Re : faire une Macros

Bonjours
Je joint le fichier classeur 2 dans l'onglet de la feuille 3 j'ai mis mon code complet qui marche très bien et sur la feuille je met ce que je dois rajouter à tout cela je trouve le code bien trop grand et c'est pour cela que je souhaite le mettre dans un module standard avec un bouton.
mais c'est sa que je n'arrive pas à faire
@+ Merci

P.S j'ai du supprimer les 3/4 de mon code de feuille pour pouvoir voir du code plus les 3/4 du code que j'ai mis sur la feuille toujours trop grand donc je laisse tomber mais bon si tu me donne la soluce pour mettre mon code dans un module standard avec un bouton. Je reussirai à mettre tout mon code
merci et bonne journée
 
Dernière édition:
- 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

J
Réponses
2
Affichages
667
J
Retour