VBA code source

  • Initiateur de la discussion gousnef
  • Date de début
G

gousnef

Guest
1) For Each c In Range(Cells(3, 2), Cells(NbreCase, 2))
2) If Mid(c.Value, 1, 9) = "/CPIOM_G1" Then
3) Range(Cells(c.Row, 1), Cells(c.Row, 150)).Copy
4) Workbooks("ICD_Avionique_COM").Sheets(1).Paste
End If
Next c
j'ai le code suivant :
1) etape je selectionne toutes les cellules de la colonne "B"
2)si les neuf Premiere lettre de chaque cellule de la colonne "B" corresponden a /CPIOM_G1
3) alors je copie la ligne correspondante a cette cellule et je dois la copier sous une nouvelle feuille d'un nouveau classeur

Le pb etant que je doi copier les lignes selectionnée a partir de la deuxieme ligne de la nouvelle feuille du nouveau classeur, de plus avec mon code, les lignes copiées ne s'enchainent pas les unes en dessous des otres mais s' ecrasent mutuellemen sur la meme ligne !!!
voila pourriez vous m'aidez et me repondre sur david.decaldas@messier-bugatti.com
 
F

f.launay

Guest
Bonjour,
Si tu faisais un tri préalable de ta colonne, puis une recherche des caractères "/CPIOM_G1 pour ensuite sélectionner toutes les cellules répondant à ce critère, et les copier ce serait beaucoup+ simple!
 
L

LaurentTBT

Guest
Bonjour,

gousnef, si tu ne peux pas faire le tri proposé par f.launay, regarde si la ligne 4 suivante te convient:
Workbooks("ICD_Avionique_COM").Sheets(1).Range("A65536").end(xlup).PasteSpecial Paste:=xlPasteAll

Un tout petit truc aussi:
au lieu de
Range(Cells(c.Row, 1), Cells(c.Row, 150)).Copy
tu peux mettre
c.resize(1,150).copy

En général, rezise, (qui, à partir d'un plage, donne la plage obtenue à partir de la première cellule initiale, et faisant ici 1 ligne en hauteur, et 150 colonnes en largeur), est un outil assez peu connu, qui personnellement m'aide beaucoup, et que je trouve très pratique!

Bonne journée.
 
G

gousnef

Guest
Ouaa, Merci , vraiment !!!
je suis tout nouveau, en programmation VBA et c'est pas facile avec comme seul appui : l'aide de microsoft excel !!
j'orai une autre question !!!
est ce que l'on peut créer une nouvelle feuille dans un classeur en lui attribuant un nom avec une seule ligne de code ?? , au lieu de passer par trois ou quatre ligne de code me paressant superficiel !!!
Merci bien
 

Discussions similaires

Réponses
0
Affichages
177

Statistiques des forums

Discussions
312 505
Messages
2 089 093
Membres
104 029
dernier inscrit
Neozz14