Pb_Macro_Boucle
Bonjour, je me permets de vous contacter parce que j'ai un petit problème avec une macro et que je ne trouve pas la solution.
La macro est la suivante, elle permet de copier coller des colonnes de la feuille 1 dans la feuille 2 si la première cellule de la feuille 1 est dans la liste ListeComplete ( prédéfinie dans la macro)
Mais lorsque je lance la macro, la première colonne se c/c dans la feuille 2 mais pas les autres alors qu'il y a bien une boucle for et que les premières cellules sont incluses dans ma liste:
Dim nbligne As Integer
Sheets("Feuil1").Select
nbligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
For i = 1 To bcol
For j = 1 To UBound(ListeComplete)
If Cells(1, i).Value = ListeComplete(j) Then
Columns(i).Select
Selection.Copy
Sheets("Feuil2").Select
Columns(i).Select
ActiveSheet.Paste
End If
Next j
Next i
Si vous pouviez me donner un indice pour resoudre mon problème svp.
Cordialement
Hello,
le mieux serait d'avoir ton fichier. Ou a minima ton code en entier pour identifier l'erreur.
A+
Ok merci pour ta réponse le voila
Option Explicit
Sub Liste_Complete()
Dim i As Integer
Dim bcol As Double
Dim j As Integer
Dim ListeComplete(230) As String
bcol = Range("A1").SpecialCells(xlCellTypeLastCell).Column
ListeComplete(1) = "a"
ListeComplete(2) = "b"
ListeComplete(3) = "m"
ListeComplete(4) = "c"
ListeComplete(5) = "Identifiant"
ListeComplete(6) = "TypeOperation"
ListeComplete(7) = "NatureScenarisk"
ListeComplete(8) = "TypeProduit"
ListeComplete(9) = "TypeSousJacent"
ListeComplete(10) = "TypeStructure"
ListeComplete(11) = "TypeProduit_Source"
ListeComplete(12) = "NatureProduit"
ListeComplete(13) = "NatureSousJacent"
ListeComplete(14) = "Desk"
ListeComplete(15) = "Book"
ListeComplete(16) = "Compartiment"
ListeComplete(17) = "SousCompartiment"
ListeComplete(18) = "CategorieIFRS"
ListeComplete(19) = "UniteInterne"
ListeComplete(20) = "Book_Perimetre"
ListeComplete(21) = "PtfProduit"
ListeComplete(22) = "Folder"
ListeComplete(23) = "Couverture"
ListeComplete(24) = "EstCouvertureClientele"
ListeComplete(25) = "Liaison_ID"
ListeComplete(26) = "Liaison_Type"
ListeComplete(27) = "Perimetre"
ListeComplete(28) = "PerimetrePHOENIX"
ListeComplete(29) = "PerimetrePHOENIX_TITRE"
ListeComplete(30) = "PerimetrePV"
ListeComplete(31) = "PerimetreSTE"
ListeComplete(32) = "Commentaire"
ListeComplete(33) = "Echeancier_EstValide"
ListeComplete(34) = "TypePricer"
ListeComplete(35) = "Contrepartie"
ListeComplete(36) = "Contrepartie_CodeLocal"
ListeComplete(37) = "Contrepartie_CodeRFT"
ListeComplete(38) = "Contrepartie_CodeRFT_Rattachement"
ListeComplete(39) = "Contrepartie_Rattachement"
ListeComplete(40) = "Contrepartie_Classification"
ListeComplete(41) = "Contrepartie_EstAffilieeBPCE"
ListeComplete(42) = "Contrepartie_EstGrandGroupeBPCE"
ListeComplete(43) = "Contrepartie_EstPetitGroupeBPCE"
ListeComplete(44) = "Contrepartie_EstPerimetreStatutaire"
ListeComplete(45) = "Contrepartie_Palier"
ListeComplete(46) = "Contrepartie_SousPalier"
ListeComplete(47) = "Contrepartie_Type"
ListeComplete(48) = "Contrepartie_ZoneGeographique"
ListeComplete(49) = "Contrepartie_Pays"
ListeComplete(50) = "Contrepartie_Notation_Externe"
ListeComplete(51) = "Contrepartie_Notation_Externe_Source"
ListeComplete(52) = "Contrepartie_SegmentMcDonoughCode"
ListeComplete(53) = "CodeContrat"
ListeComplete(54) = "Isin"
ListeComplete(55) = "CodeSophis"
ListeComplete(56) = "Libelle"
ListeComplete(57) = "Secteur"
ListeComplete(58) = "SpreadIndividuel"
ListeComplete(59) = "CourbeRecovery"
ListeComplete(60) = "Emetteur"
ListeComplete(61) = "Emetteur_CodeLocal"
ListeComplete(62) = "Emetteur_CodeRFT"
ListeComplete(63) = "Emetteur_CodeRFT_Rattachement"
ListeComplete(64) = "Emetteur_Rattachement"
ListeComplete(65) = "Emetteur_Classification"
ListeComplete(66) = "Emetteur_EstAffilieBPCE"
ListeComplete(67) = "Emetteur_EstGrandGroupeBPCE"
ListeComplete(68) = "Emetteur_EstPetitGroupeBPCE"
ListeComplete(69) = "Emetteur_EstPerimetreStatutaire"
ListeComplete(70) = "Emetteur_Palier"
ListeComplete(71) = "Emetteur_SousPalier"
ListeComplete(72) = "Emetteur_Type"
ListeComplete(73) = "Emetteur_TypeBancaire"
ListeComplete(74) = "Emetteur_ZoneGeographique"
ListeComplete(75) = "Emetteur_Pays"
ListeComplete(76) = "Emetteur_Notation_Externe"
ListeComplete(77) = "Emetteur_Notation_Groupe"
ListeComplete(78) = "Emetteur_SegmentMcDonough"
ListeComplete(79) = "Titre_Notation_Externe"
ListeComplete(80) = "Titre_Seniorite"
ListeComplete(81) = "ContratCollateral"
ListeComplete(82) = "DeviseCollateral"
ListeComplete(83) = "TradeDate"
ListeComplete(84) = "DateValeur"
ListeComplete(85) = "DateDebut"
ListeComplete(86) = "DateFin"
ListeComplete(87) = "DateFinAjustee"
ListeComplete(88) = "ExpiryDate"
ListeComplete(89) = "Cours"
ListeComplete(90) = "DateCours"
ListeComplete(91) = "Quotite"
ListeComplete(92) = "Quantite"
ListeComplete(93) = "Sens"
ListeComplete(94) = "Devise"
ListeComplete(95) = "Secteur_2"
ListeComplete(96) = "Devise_2"
ListeComplete(97) = "Nominal"
ListeComplete(98) = "NominalAjuste"
ListeComplete(99) = "Index"
ListeComplete(100) = "Taux"
ListeComplete(101) = "Marge"
ListeComplete(102) = "Base"
ListeComplete(103) = "Frequence"
ListeComplete(104) = "FormuleIndex_J1"
ListeComplete(105) = "DernierTauxConnu_J1"
ListeComplete(106) = "ID_Jambe"
ListeComplete(107) = "SecteurJ2"
ListeComplete(108) = "SensJ2"
ListeComplete(109) = "DeviseJ2"
ListeComplete(110) = "SecteurJ2_2"
ListeComplete(111) = "DeviseJ2_2"
ListeComplete(112) = "NominalJ2"
ListeComplete(113) = "NominalJ2Ajuste"
ListeComplete(114) = "IndexJ2"
ListeComplete(115) = "TauxJ2"
ListeComplete(116) = "MargeJ2"
ListeComplete(117) = "BaseJ2"
ListeComplete(118) = "FrequenceJ2"
ListeComplete(119) = "FormuleIndex_J2"
ListeComplete(120) = "DernierTauxConnu_J2"
ListeComplete(121) = "ID_JambeJ2"
ListeComplete(122) = "Amortissement"
ListeComplete(123) = "Echeancier_TypeNominal"
ListeComplete(124) = "Echeancier_TypeCoupon"
ListeComplete(125) = "Niveau_Observabilite"
ListeComplete(126) = "Encours_Montant"
ListeComplete(127) = "CalculMetier1"
ListeComplete(128) = "MtM_Source_Euro"
ListeComplete(129) = "CouponCouru_Source_Euro"
ListeComplete(130) = "Type_MtM_Source_Euro"
ListeComplete(131) = "Date_MtM_Source_Euro"
ListeComplete(132) = "MtM_Recalcule"
ListeComplete(133) = "Delta"
ListeComplete(134) = "Vega"
ListeComplete(135) = "MontantEngagement"
ListeComplete(136) = "Strike"
ListeComplete(137) = "TypeOption"
ListeComplete(138) = "NatureOption"
ListeComplete(139) = "TypeBarriereDown"
ListeComplete(140) = "BarriereBasse"
ListeComplete(141) = "TypeBarriereUp"
ListeComplete(142) = "BarriereHaute"
ListeComplete(143) = "DateLivraison"
ListeComplete(144) = "TypeLivraison"
ListeComplete(145) = "Prime"
ListeComplete(146) = "SoulteExercice"
ListeComplete(147) = "DateExercice"
ListeComplete(148) = "Version"
ListeComplete(149) = "BookTranscode"
ListeComplete(150) = "StructId"
ListeComplete(151) = "DateExtrapolation"
ListeComplete(152) = "DateValorisation"
ListeComplete(153) = "DateEcheance"
ListeComplete(154) = "DateEcheanceJ2"
ListeComplete(155) = "FreqValo"
ListeComplete(156) = "NbJLiq"
ListeComplete(157) = "Liquidite"
ListeComplete(158) = "WellPriced"
ListeComplete(159) = "MtM"
ListeComplete(160) = "Couru"
ListeComplete(161) = "MtM_Source_Devise"
ListeComplete(162) = "MtM_Scenarisk_Devise"
ListeComplete(163) = "MtM_Scenarisk_Euro"
ListeComplete(164) = "CC_J1"
ListeComplete(165) = "CC_J2"
ListeComplete(166) = "TypeDesk"
ListeComplete(167) = "PerimetreReportSTE"
ListeComplete(168) = "FiltreSTE"
ListeComplete(169) = "TiersRisqueSTE"
ListeComplete(170) = "TiersRisque_ClassificationSTE"
ListeComplete(171) = "Emetteur_TypeSTE"
ListeComplete(172) = "Emetteur_RegroupementPaysSTE_EQ"
ListeComplete(173) = "Emetteur_RegroupementPaysSTE_SPR"
ListeComplete(174) = "EmetteurSTE"
ListeComplete(175) = "Emetteur_PaysSTE"
ListeComplete(176) = "Emetteur_TypeSTEBA"
ListeComplete(177) = "Emetteur_RegroupementPaysSTEBA_EQ"
ListeComplete(178) = "Emetteur_RegroupementPaysSTEBA_SPR"
ListeComplete(179) = "Emetteur_RegroupementPaysSTE_SPRsov"
ListeComplete(180) = "Emetteur_GradeSTEBA"
ListeComplete(181) = "Scen - IdPtf"
ListeComplete(182) = "Scen - IdPtfAdj"
ListeComplete(183) = "IsVaRPose"
ListeComplete(184) = "VaRPose_Param1j99p"
ListeComplete(185) = "IsMtM_Scenarisk"
ListeComplete(186) = "MtM_Scenarisk_EUR"
ListeComplete(187) = "S - IsSensi"
ListeComplete(188) = "S - AxeIN"
ListeComplete(189) = "S - AxeOut"
ListeComplete(190) = "S - EQ_Delta"
ListeComplete(191) = "S - EQ_Vega"
ListeComplete(192) = "S - IR_Delta"
ListeComplete(193) = "S - IR_Delta1%"
ListeComplete(194) = "S - IR_Vega"
ListeComplete(195) = "S - INF_Delta"
ListeComplete(196) = "S - INF_Delta1%"
ListeComplete(197) = "S - INF_Vega"
ListeComplete(198) = "S - SPR_Delta"
ListeComplete(199) = "S - SPR_Delta1%"
ListeComplete(200) = "S - FX_Delta"
ListeComplete(201) = "S - FX_Vega"
ListeComplete(202) = "S - NO"
ListeComplete(203) = "S - EQ_Smile"
ListeComplete(204) = "S - IR_Sabr"
ListeComplete(205) = "S - CM_Delta"
ListeComplete(206) = "BRED - IsInAbro"
ListeComplete(207) = "BRED - Niv1"
ListeComplete(208) = "BRED - Niv2"
ListeComplete(209) = "BRED - Niv3"
ListeComplete(210) = "BRED - Niv4"
ListeComplete(211) = "BRED - Niv5"
ListeComplete(212) = "BRED - Niv6"
ListeComplete(213) = "ST - IsStress"
ListeComplete(214) = "STBSOV_ABSOLU"
ListeComplete(215) = "STBSOV_RELATIF"
ListeComplete(216) = "STBSOV_ABSOLU_TAUX"
ListeComplete(217) = "STBSOV_ABSOLU_CREDIT"
ListeComplete(218) = "STBSOV_RELATIF_TAUX"
ListeComplete(219) = "STBSOV_RELATIF_CREDIT"
ListeComplete(220) = "STBSINF_ABSOLU"
ListeComplete(221) = "STBSINF_ABSOLU_TAUX"
ListeComplete(222) = "STBSINF_ABSOLU_CREDIT"
ListeComplete(223) = "STBSINF_G_TX_D_RFE"
ListeComplete(224) = "STBSINF_A_TX_D_FE"
ListeComplete(225) = "STBCORP_ABSOLU"
ListeComplete(226) = "STBCORP_RELATIF"
ListeComplete(227) = "STBCORP_ABSOLU_CREDIT"
ListeComplete(228) = "STBCORP_RELATIF_CREDIT"
ListeComplete(229) = "STBMIX_ABSOLU"
ListeComplete(230) = "FichierSource"
Dim nbligne As Integer
Sheets("Feuil1").Select
nbligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
For i = 1 To bcol
For j = 1 To UBound(ListeComplete)
If Cells(1, i).Value = ListeComplete(j) Then
'Loop
Columns(i).Select
Selection.Copy
Sheets("Feuil2").Select
Columns(i).Select
ActiveSheet.Paste
End If
Next j
Next i
End Sub
Le seul pb est que apres le c/c de la premiere colonne , ca ne c/c pas la 2eme et ainsi de suite
Bonsoir,
Ecris ton code comme du code VBA, sans Select, en qualifiant tes expressions (et en l'indentant par la même occasion, cela te permettrait de voir les anomalies plus facilement !), et le problème s'évanouira de lui-même... !
Cordialement.
C'est bon merci j'ai resolu le pb il etait dans ma boucle For, il fallait que je reprécise dans quelle feuille je retournais à la fin.
Cordialement.