XL 2016 Copie automatique VBA d'une cellule spécifique de toutes les feuilles du classeur

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

Nando71

XLDnaute Nouveau
Bonjour

J'ai un petit soucis avec le fichier, je n'arrive pas à créer un code. Je m'explique à partir de la feuille synthèse je rentre mes données, je remplis les cellules correspondantes à la ligne concernée dans la colonne c et cela me génère une nouvelle feuille.

Maintenant j'aimerai reporter automatiquement sur ma feuille Synthèse dans les cellule de B20 à B100 la valeur des cellules S67 de chaque feuille crées et surtout à chaque ajout d'une nouvelle feuille que cela vienne s'ajouter au dessous de la dernière cellule pleine .

Merci pour ton soutien

Bien cordialement
 

Pièces jointes

Précisions

J'ai bien évidemment inhibé ce code présent dans la feuille Synthèse
Code:
'Private Sub Worksheet_Change(ByVal Target As Range)
'If Not Application.Intersect(Target, Range("C4:C50" & Range("B100").End(3).Row)) Is Nothing Then
'Call Creer_Supprimer(Target)
'Sheets("Synthèse").Activate
'End If
'End Sub
Fais-en de même, et tu verras que ma macro fonctionne.
 
Re

Same player shoot again

Regarde bien dans la colonne B de la feuille Synthèse

NB: Si j'ai ecris Test OK c'est que la macro fonctionne, sinon je ne l'aurais pas posté 😉
Oui je pense bien que ton code fonctionne, vu que je suis novice dans le VBA ou mets-tu ce code ? dans la feuil1(Synthèse) ou dans le module1 car j'ai essayé dans le 2 mais je ne vois rien dans la colonne B

Merci pour ta patience
 
Re

@Nando71
Ceci devrait faire l'affaire
Code:
Sub test_ok_B()
Dim f As Worksheet
For Each f In Worksheets
If Not f.Name Like "Synthèse" And Not f.Name Like "Type" Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
ou cela également
Code:
Sub test_ok_C()
Dim f As Worksheet
For Each f In Worksheets
If Not InStr("SynthèseType", f.Name) > 0 Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
 
Re

@Nando71
Ceci devrait faire l'affaire
Code:
Sub test_ok_B()
Dim f As Worksheet
For Each f In Worksheets
If Not f.Name Like "Synthèse" And Not f.Name Like "Type" Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
ou cela également
Code:
Sub test_ok_C()
Dim f As Worksheet
For Each f In Worksheets
If Not InStr("SynthèseType", f.Name) > 0 Then
Sheets("Synthèse").Cells(Rows.Count, 2).End(3)(2) = f.[S67]
End If
Next
End Sub
Merci mais cela me prend toujours la valeur S 67 de la Feuille Type. Cette feuille je veux l'exclure du calcul

Merci pour ton aide
 
- 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

Réponses
3
Affichages
582
Retour