Macro pointant vers une autre feuille

lionnel42

XLDnaute Nouveau
Bonjour à tous,

je cherche à réaliser une macro mais avec le peu de connaissance donc je dispose cela s'avère périlleux.

J'ai fais une recherche sur le forum pour voir si le sujet a déjà été traité. Je n'ai rien trouvé mais je m'excuse d'avance si c'est quand même le cas.

Voici mon problème :

Mon classeur dispose 3 feuilles nommées respectivement : S 1-2 ; S 3-4 et S 5-6.
Dans la cellule A1 de la feuille S 1-2 j'ai des données type texte
Dans la cellule b1 de la feuille S 1-2 j'ai un chiffre.
En fonction du chiffre noté en cellule b1, je voudrais pourvoir copier les données présentes dans la cellule A1 de la feuille S 1-2 dans la cellule A1 d'une autre feuille.

Exemple 1 :
Feuille S 1-2 cellule a1 : "Toto"
Feuille s 1-2 cellule b1 : 5
la macro copie la cellule A1 de la feuille S 1-2 dans la cellule A1 de la feuille S 5-6

Exemple 2 :
Feuille S 1-2 cellule a2 : "Test"
Feuille s 1-2 cellule b2 : 4
la macro copie la cellule A2 de la feuille S 1-2 dans la cellule A2 de la feuille S 3-4


Merci d'avance pour votre aide et allez-y doucement je suis un simple débutant^^
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro pointant vers une autre feuille

Bonjour lionnel42, bienvenue sur XLD,

5 heures d'attente, ce n'est guère normal sur ce forum :confused:

La macro dans le code de la feuille S 1-2 (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal target As Range)
If Intersect(target, [A1:A2]) Is Nothing Or [A2] = "" Then Exit Sub
Dim w As Worksheet
For Each w In Worksheets 'boucle sur les feuilles de calcul
  If w.Name Like "S " & [A2] & "-*" Or w.Name Like "S *-" & [A2] Then
    w.[A1] = [A1] 'copie de la cellule A1
    w.Activate 'activation de la feuille, facultative
    Exit For 'sort de la boucle
  End If
Next
End Sub

La macro s'exécute quand les cellule A1 ou A2 de la feuille sont modifiées.

Fichier joint.

A+
 

Pièces jointes

  • Classeur(1).xls
    36.5 KB · Affichages: 81
  • Classeur(1).xls
    36.5 KB · Affichages: 101
  • Classeur(1).xls
    36.5 KB · Affichages: 107

lionnel42

XLDnaute Nouveau
Re : Macro pointant vers une autre feuille

Bonjour,

cette macro fonctionne sauf que lorsque je veux fermer mon fichier excel, mon PC se met à réfléchir non stop et rien d'autre se passe. Je suis donc obligé de passer par le Gestionnaire des tâches et forcer la fermeture d'EXcel.

Avez-vous une idée du problème SVP?
 

job75

XLDnaute Barbatruc
Re : Macro pointant vers une autre feuille

Bonjour lionnel42,

(...)lorsque je veux fermer mon fichier excel, mon PC se met à réfléchir non stop

Peut-être y a-t-il dans ThisWorkbook une macro Workbook_BeforeClose ou Workbook_Deactivate qui provoque le bouclage ?

J'en profite pour vous faire corriger la macro précédente (partie en rouge) :

Code:
Private Sub Worksheet_Change(ByVal target As Range)
If Intersect(target, [A1:A2]) Is Nothing Or [COLOR="Red"][A2] < 3[/COLOR] Then Exit Sub
Dim w As Worksheet
For Each w In Worksheets 'boucle sur les feuilles de calcul
  If w.Name Like "S " & [A2] & "-*" Or w.Name Like "S *-" & [A2] Then
    w.[A1] = [A1] 'copie de la cellule A1
    w.Activate 'activation de la feuille, facultative
    Exit For 'sort de la boucle
  End If
Next
End Sub

En effet il ne faut pas traiter la feuille S 1-2.

A+
 

lionnel42

XLDnaute Nouveau
Re : Macro pointant vers une autre feuille

Merci pour les modifs pour la feuille S 1-2. Effectivement le programme buguait

En revanche, je n'ai pas de macro dans ThisWorkBook (ou alors je ne sais pas les retrouver). J'ai aussi copié ces lignes au cas où (code que j'ai trouvé sur ce forum)

Sub SupprimerModule(NomModule As String)
With ThisWorkbook.VBProject.VBComponents(NomModule).CodeModule
.DeleteLines 1, .CountOfLines
End With
End Sub

Le problème persiste toujours....
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz