Problème copier coller VBA
Bonjour a tous!
Je sollicite votre aide.
En effet, à l'aide d'un code VBA je copie plusieurs tableaux dans une seule feuille. (Feuil1)
Cependant mon tableau de la feuille "Onduleurs" tout comme le tableau de la feuille "Tension de chaînes" est variable et dépend du nombre inscrit dans la case P1 (ex: P1 = 10 alors mon tableau fera 10 lignes). Il s'agit d'une fonction "afficher/cacher".
Lors du copié collé, le code ne prend pas en compte cette fonction et me copie l'intégralité des lignes (211).
J'aimerai aussi, copier ma feuille "page de garde" avant ces différents tableaux, tout en haut de la "Feuil1".
En espérant avoir été clair, n'hésitez pas à me poser des questions si ce n'est pas le cas.
En vous remerciant et vous souhaitant une bonne semaine!
Cordialement, Léo.
Bonjour leo
Pour ne copier que les lignes visibles , je pense que c'est cela
Sub CreationDeLaListe()
dlig = Sheets("Onduleurs").Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To dlig
Sheets("Onduleurs").Range("A" & i & ":L" & i).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A" & i)
Next
'Sheets("Dossiers tech & aff normatif").Range("ma_liste1").Copy Destination:=Sheets("Feuil1").Range("a1")
'Sheets("Onduleurs").Range("ma_liste2").Copy Destination:=Sheets("Feuil1").Range("a20")
dlig = Sheets("Dossiers tech & aff normatif").Range("A" & Rows.Count).End(xlUp).Row
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To dlig
dlf = dlf + 1
Sheets("Dossiers tech & aff normatif").Range("A" & i & ":L" & i).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
Next
End Sub
A tester
Bye
Bonjour Patty5046.
Merci de t'intéresser de nouveau à mon problème. Ton programme marche, mais j'ai encore quelque soucis...
Je te remet en PJ le documennt que j'ai un peu modifier. J'aimerai copier les tableaux dans l'ordre A, B, C.... L (Toiture).
Pour la feuille "Onduleurs" j'aimerai pouvoir conserver les 2 dernières lignes "Avant de continuer, réarmer les interrupteurs DC, et fermer les boites de jonction DC" ainsi que "Remettre l’onduleur sous tension en respectant la procédure de mise sous tension du fabricant".
En plus des autres tableaux à copier, j'aimerai pouvoir conserver le bon nombre de lignes pour la feuille "Onduleurs" et pour la feuille "Tensions de chaines" car ces deux feuilles sont synchronisées. Si P1 = 10 alors j'obtiendrai 10 lignes das la feuille "onduleurs" et 10 lignes dans la feuille "tensions de chaînes".
En te remerciant et en te souhaitant une bonne semaine.
Cordialement.
Re
Il semblerait que cela fasse ce que tu veux pour la copie des feuilles vers Feuil1 en ne prenant en compte que les lignes visibles dans Onduleurs et Tensions chaîne:
Sub CreationDeLaListe()
DernLigne = Range("A" & Rows.Count).End(xlUp).Row
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Dossiers tech & aff normatif").Range("ma_liste1").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
dlig = Sheets("Onduleurs").Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To dlig
Sheets("Onduleurs").Range("A" & i & ":L" & i).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = dlf + 1
Next
ligf1 = Sheets("Onduleurs").Range("B" & Rows.Count).End(xlUp).Row - 1
ligf2 = Sheets("Onduleurs").Range("B" & Rows.Count).End(xlUp).Row
Sheets("Onduleurs").Range("B" & ligf1 & ":B" & ligf2).Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Mise à la terre").Range("ma_liste3").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("TDGS AC").Range("ma_liste4").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Coffrets DC et BJ").Range("ma_liste5").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
dlig = Sheets("Tensions chaînes").Range("B" & Rows.Count).End(xlUp).Row
For i = 1 To dlig
Sheets("Tensions chaînes").Range("A" & i & ":L" & i).SpecialCells(xlCellTypeVisible).Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = dlf + 1
Next
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("PDL").Range("liste2").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Monitoring").Range("liste3").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
dlf = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Toiture").Range("liste4").Copy Destination:=Sheets("Feuil1").Range("A" & dlf)
End Sub
A toi de voir
Waouh ! merci c'est vraiment génial. J'ai très légèrement modifier le code afin d'avoir un espace d'une ligne entre chaque tableau copié.
Cependant, j'ai un problème de taille, comment coller tous ces tableaux en conservant leur mise en forme original ?
De plus, j'aimerai ajouter la feuille "Page de garde" et la feuille "rappel de sécurité" au début en en fin de ma feuille "Feuil1".. Je ne sais pas par ou m'y prendre..
En te remerciant encore une fois, pour le temps que tu passes à m'aider!!
Cordialement, Léo.
Voici la PJ, pardon.