Boucle transfert nom onglet

Bonjour à toute et tous.

J'ai encore un problème de boucle. Je voudrais créer une boucle pour transférer le nom des onglets du fichier "coverage" dans les colonnes du fichier "Bilan". J'ai l'impression de ne pas être si loin que ça pourtant mais rien à faire je ne trouve pas la solution.

Je mets tout le code de la macro pour que vous voyez un peu mieux ce que c'est censé faire mais c'est vraiment le transfert des nom qui me pose problème. Bien sûr si voulez regarder le reste et que vous avez aussi une meilleure solution, je suis preneur de tout apprentissage ^^.

Si vous pouvez m'aider svp. Je vous en remercie.

Sub RNASeq_Couverture()

' Désactive le rafaraichissement de l'écran
Application.ScreenUpdating = False

Dim NF
NF = ActiveWorkbook.Name
Range("R2") = NF

Dim WB2
WB2 = "Bilan couverture des gènes PAX vièrge.xlsx"

Dim np
np = Sheets.Count - 1

'Place le nom du fichier de couverture en A1 dans le fichier Bilan
Windows("coverage_MA_RNASEQ_L5_run0683_V10_080323.xls").Activate 'REMPLACER ICI PAR LE NOM DU NOUVEAU FICHER DE COUVERTURE
Range("R3").Copy
Windows("Bilan couverture des gènes PAX vièrge.xlsx").Activate
Range("A1:C1").Select
ActiveSheet.Paste

'Copie les colonnes B et C autant de fois qu'il y a de patient
Dim C As Integer
For C = 1 To np
    Range("B2:C1057").Select
    Selection.Copy
    Range("D2").Select
    Selection.Insert Shift:=xlToRight
Next C

Columns("A:AG").AutoFit

'Place le nom des onglets dans le bilan
Dim SC, i%
SC = Sheets.Count
        For i = 1 To SC
            With Sheets(i)
    .Range("S3") = Sheets(i).Name
    .Range("S3").TextToColumns Destination:=Range("S3"), DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(12, 1)), TrailingMinusNumbers:=True
            End With
    Range("S3").Copy
    Windows(WB2).Activate
    Range("B2").Select
    ActiveSheet.Paste
        Next i

End Sub
3coverage.zip (413.57 Ko)

Bonjour Philippe

Ou dois aller ce code, les 2 fichiers déposés n'en contiennent aucun

A+

Bonjour Bruno,

Ce code est prévu pour aller dans un module VBA mais je ne peux pas introduire un .bas sur le forum.

J'ai pas pensé à l'intégrer au fichier directement .

Je vous joint de nouveau le fichier avec le code dans un module.

Merci pour votre aide.

3coverage.zip (421.66 Ko)

Bonjour Bruno,

Je me permet un petit message savoir si vous avez pu regarder mon problème.

Merci pour votre aide.

Cordialement,

Bonjour,

Pour revenir sur le sujet comme demandé, je ne comprends pas votre logique
Et votre demande pour moi, n'est pas assez explicite

De plus comme le fichier général est celui du bilan, c'est dans ce fichier qu'il faut mettre le code et non l'inverse

En attente d'explications très détaillées

A+

D'accord très bien je reviens vers vous rapidement alors avec plus de détail et le code dans le bon fichier.

Merci

Bonjour,

Je souhaiterais avoir une boucle qui transfert le nom des onglets du fichier "coverage" dans la cellule "numéro du patient" du fichier "Bilan couverture des gènes RNASeq vièrge.xlsm"

exemple : l'onglet 1 du fichier "coverage" portant le nom "1", transférer dans la cellule "B2" du fichier "Bilan couverture des gènes RNASeq vièrge.xlsm" l'onglet 2 du fichier "coverage" portant le nom "2", transférer dans la cellule "D2" du fichier "Bilan couverture des gènes RNASeq vièrge.xlsm" l'onglet 3 du fichier "coverage" portant le nom "3", transférer dans la cellule "F2" du fichier "Bilan couverture des gènes RNASeq vièrge.xlsm"

etc

Voici les fichiers. La macro est comme demandé dans le fichier "Bilan couverture des gènes RNASeq vièrge.xlsm".

1coverage.zip (410.80 Ko)

J'espère que cette demande vous paraitra plus claire. Si ce n'est pas le cas n'hésitez pas à me dire plus précisément les informations qu'il vous manquent.

Je vous remercie pour votre aide.

Bonjour Philippe

C'est maintenant plus clair effectivement
en revanche, je ne vous ai pas demandé, mais conseillé de mettre le code au bon endroit à mes yeux

Ceci dit, voici le code dans le module "mBrunoM45"

Attention !
Votre feuille "Bilan couverture" contenait un espace devant le "B" que j'ai supprimé

J'espère que cela répondra à votre besoin

A+

Bonjour Bruno,

Merci beaucoup pour votre réponse. je vais regarde tout ça , pour vous dire si tout fonctionne bien, ce dont je ne doute pas vraiment.

D'accord merci je vais retirer cet espace avant le "B". Merci pour vigilance.

Pour le mot "demandé", soyez sur qu'il n'avait aucune connotation négative. Je vous prie de m'excuser s'il à été perçu négativement ce n'était vraiment pas le but.

Je test votre solution ce soir et vous fais un retour rapidement.

Encore merci pour votre aide.

Bonjour BrunoM45,

J'ai testé le code et il fonctionne. J'ai juste dû adapter l'appel du workbook dans "for each..." car je travaille avec des ActiveWindow au début de la macro (le fichier est donc déjà ouvert).

Je vous remercie une ultime fois (pour ce sujet en tout cas) pour votre aide précieuse.

Merci également pour les commentaires dans le code qui m'aide à mieux appréhender VBA et ici m'ont permis de faire les modifications moi même.

Merci

Rechercher des sujets similaires à "boucle transfert nom onglet"