Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

pb macro

S

steve

Guest
bonsoir a tous

le code ne fonctione pas
quant la date =2001 ou =2002

merci d' avance


Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Name = [e4]
If Target.Address = "$H$16" Or Target.Address = "$H$17" Or Target.Address = "$H$19" Or Target.Address = "$H$18" Or Target.Address = "$N$20" Or Target.Address = "$N$19" Or Target.Address = "$N$18" Or Target.Address = "$N$17" Or Target.Address = "$N$16" Then
Range("Ad9:As9").Copy
Worksheets("Accueil BILAN").Range("V9").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End If

Dim Isect As Range
Set Isect = Application.Intersect(Range("a8"), Target)
If Isect Is Nothing Then Exit Sub
Select Case Target.Value
Case "franck"
Call franck


Set Isect = Application.Intersect(Range("i2"), Target)
If Isect Is Nothing Then Exit Sub
Select Case Target.Value
Case ">2001<"
Call 2001
Case ">2002<"
Call 2002
End Select

End Sub
 
S

steve

Guest
re bonjour

le debugeur du vba ne se mes pas en rouge ,mais lorsque j'ai voulu nommer la macro cela na pas fonctionné.
bon maintenant c'est un peux mieux car les macros 2001 excuse moi m2001
et m2002 (bonne idée) fonctionne mais pas les macros franck et olivier,il doit manquer quelque chose après then???


bon app
steve

Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Name = [e4]
If Target.Address = "$H$16" Or Target.Address = "$H$17" Or Target.Address = "$H$19" Or Target.Address = "$H$18" Or Target.Address = "$N$20" Or Target.Address = "$N$19" Or Target.Address = "$N$18" Or Target.Address = "$N$17" Or Target.Address = "$N$16" Then
Range("Ad9:As9").Copy
Worksheets("Accueil BILAN").Range("V9").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
End If

Dim Isect As Range
Set Isect = Application.Intersect(Range("a8"), Target)
If Isect Is Nothing Then
Select Case Target.Value
Case "franck"
Call franck
Case "olivier"
Call olivier

End Select
End If
Set Isect = Application.Intersect(Range("m2"), Target)
If Isect Is Nothing Then Exit Sub
Select Case Target.Value
Case "2001"
Call Macro2001
Case "2002"
Call Macro2002




End Select

End Sub
 
@

@+Thierry

Guest
Humm ?

Dim Isect As Range
Set Isect = Application.Intersect(Range("a8"), Target)
If Isect Is Nothing Then <========== THEN WHAT ?
Select Case Target.Value
Case "franck"
Call franck
Case "olivier"
Call olivier
////
Set Isect = Application.Intersect(Range("m2"), Target)
If Isect Is Nothing Then Exit Sub
Select Case Target.Value
Case "2001"
Call Macro2001 <============= C'EST M2001 ou MACRO2001 ???
Case "2002"
Call Macro2002 <============= C'EST M2002 ou MACRO2002 ???
/////


Moi je n'ai rien testé car franchement je ne sais pas du tout et je n'essaie même pas de comprendre ce que tu veux faire mais Ti t'avais dit plus haut que tu avais une erreur de programmation aussi ... enfin bon essaie çà !!! mais vraiment au pif car je vais manger là... et je ne reproduis pas cette macro en VBA ... (il faudrait la demie journée lol)

Set IsectM8 = Application.Intersect(Range("M8"), Target)
If IsectM8 Is Nothing Then Exit Sub

If Target.Value = "franck" Then
Call franck
If Target.Value = "olivier" Then
Call olivier
End If
End If

Set IsectM2 = Application.Intersect(Range("M2"), Target)
If IsectM2 Is Nothing Then Exit Sub
Select Case Target.Value
Case "2001"
Call M2001
Case "2002"
Call M2002
End Select


Bon app
@+Thierry
 
S

steve

Guest
re

voila mon classeur lite

ca ne fonctionne toujours pas sauf quand j' ecris manuellement 2001 ou 2002 en a2

merci d'avance, surtout a thierry qui a beaucoup de patience.
 

Pièces jointes

  • pbmacro.xls
    29 KB · Affichages: 48
  • pbmacro.xls
    29 KB · Affichages: 42
  • pbmacro.xls
    29 KB · Affichages: 45
@

@+Thierry

Guest
Bon là je vais quitter le bureau et ce soir je vais boire un pot avec des collèques...

Donc ton Intersect attendra que je me réveille tranquille demain matin, je pense, avec une bonne tasse de café expresso...

Bon Vendredi soir à tous et toute !!!

For Last.Friday in Year !!!

Bye
@+Thierry
 
S

steplof

Guest
Salut à tous


Steve, peut etre un début de solution à ton probleme, j'ai apparemment réussi à faire fonctionner tes appels de macros quand tu selectionnes la cellule a8 ou g2 si j'ai bien compris ce que tu voulais faire.


J'ai juste tester ça sans verifier tes macros que j'ai remplacés par des msgbox.

regarde et dis moi si ça te fait un peu avancer.


@+
Steplof
 

Pièces jointes

  • Solpbmacro.xls
    31 KB · Affichages: 47
@

@+Thierry

Guest
Bonjour à vous deux et à tous ceux/celles qui auront la patience de suivre ce fil.

J'ai regardé ton fichier Steve, puis celui de Steplof... en fait le gros problème dans cette histoire c'est que je ne comprends strictement rien du but de cette macro évènementielle... Mis à part de lancer des macros on ne peut plus simple de copié/collé....

Plutôt que de poster des codes sans queue ni tête, ni un fichier qui ne me donne aucune info du but recherché, prends un petit quart d'heure pour rédiger ce que tu voudrais arriver à faire de "A" à "Z", et ceci en français et pas en VBA !!!

Je pense vraiment que ce ne doit pas être sorcier, car là j'ai franchement l'impression qu'on essaie d'arranger un code sans même savoir à quoi il sert !!! et qu'une solution pêut-être trouvée en un coup de cuillère à pot sans faire un fil de dix kilomètres !!!

...à suivre...
bon samedi
@+Thierry
 
S

steve

Guest
bonjour a tous

je veux tous simplement lancer des macros en fonction d evenement soit choix dans une liste deroulante ou lancement d'une macro en fonction d' une date dans une cellule pour garder un historiqued'une plage de cellule de la feuille . le but n'est pas evidement de lancer une simple macro copier coller.mais a partir de cette exemple qui pourra servir a d'autre je l' espere lancer des macro plus compliqué

par contre j' ai un petit soucis je n'arrive pas a faire un simple copier coller de plage de cellules. erreur 13

merci d'avance et bonne après midi
 
@

@+Thierry

Guest
Re Bonjour Steve

Bon ben avec exactement ce que tu viens d'expliquer je t'ai préparé une mini démo qui fait exactepment ce que tu as écrit... (avec des msgbox que tu remplaceras par des macro plus compliquées)

En anglais on écrit "this is to cut this long story short" !!!

Je pense qu'avec çà tu auras de quoi faire sans avoir d'intersect en variable Is Nothing répétitivement récursives et des end select manquants...

Pour l'erreur 13 (de mémoire) il me semble que c'est quand tu n'as pas la même 'shape" de "range" entre la zone que tu copies et la zone que tu sélectionnes pour coller....

Regardes si çà peut t'inspirer...

Bonne fin de journée
@+Thierry

PS penser à sélectionner l'année prochaine,... il y a un message
 

Pièces jointes

  • Steve.zip
    14.4 KB · Affichages: 20
S

steplof

Guest
Bsr

bon ben là ton prob de range doit être résolu...
Peut -être un autre & à ajouter dans ton prog...

puis vive VBA alors!!!
koike Visual Basic For Excel ct bien aussi ;o)))))

Steplof
 

Pièces jointes

  • SolpbmacroPLAN2.xls
    34.5 KB · Affichages: 40
@

@+Thierry

Guest
Non Steve

enfin si tu t'adresses à moi !

la date n'est pas liée avec la liste des macro... lis un peu le code !

La date est juste reportée en tant qu'info dans les msgbox...

par contre le change date lance la macro message çà oui... mais on pourrait faire autre chose !!! comme pour l'exemple lancer le userform bonne année... et on pourrait faire un truc différent pour chaque date of course !!!

essaie un peu d'analyser ce que j'ai écrit et puis ptet que le monde de VBA s'ouvrira un peu à toi dans le VBE !!!

Allé moi je vais boire l'apéro !!
@+Thierry
 
S

steve

Guest
merci steplof ca fonction bien
j' espere quand compliquent les macros sa fonctionnera toujours.

merci aussi a thierry,j'ai apris quelque petite chose avec ton code ;mais tu complique les choses ses incroyables,tu a du allez trop longtemp a l'ecole?


bonsoir
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…