Copier/coller sous conditions

davy76

XLDnaute Nouveau
Bonjour,

Je dispose d'un tableau toutes les semaines (le nombre de ligne varie suivant les semaines), que j'aimerais mettre en forme.
J'aimerais que lorsque la colonne A contient une ville, Excel reprenne l'info correspondante en colonne J.
Et fasse un copier coller sur une autre feuille.

Merci de votre aide
 

Pièces jointes

  • test.xlsx
    9.7 KB · Affichages: 10
Solution
Bonjour davy76,

Il est facile de voir (test en colonne O) que par exemple les cellules telles que A2:A9 ne sont pas vides.

Elles contiennent le texte vide "".

Il suffit d'effacer ces textes vides sur toute la colonne A, voyez ce fichier (2) :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Rows("38:" & Rows.Count).Delete 'RAZ
With Sheets("Feuil1") 'à adapter
    .[A:A].Replace "", " ", xlWhole 'espace dans les cellules vides ou contenant un texte vide
    .[A:A].Replace " ", "" 'effacement des espaces
    On Error Resume Next 'si aucune SpecialCell
    Intersect(.[A:A,J:J], .[A:A].SpecialCells(xlCellTypeConstants).EntireRow).Copy [B38]
End With
Columns.AutoFit 'ajustement largeurs
With UsedRange: End...

job75

XLDnaute Barbatruc
Bonsoir davy76,

Le code de la feuille "Résultat" est très simple :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Cells.Delete 'RAZ
With Sheets("Feuil1") 'à adapter
    On Error Resume Next 'si aucune SpecialCell
    Intersect(.[A:A,J:J], .[A:A].SpecialCells(xlCellTypeConstants).EntireRow).Copy [A1]
End With
Columns.AutoFit 'ajustement largeurs
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
La macro se déclenche automatiquement quand on active la feuille.

A+
 

Pièces jointes

  • test(1).xlsm
    17.4 KB · Affichages: 11

davy76

XLDnaute Nouveau
Bonjour @job75,

Dans mon fichier d'origine la macro ne fonctionne pas. Il reprend bien les données pour les copier mais ne me supprime pas les lignes vides en fonction de la colonne A.
Et j'aimerais si c'est possible qu'il me colle les infos sur la Feuil2 en B38. Sachant qu'il y aura des infos jusqu'à la ligne 36.
 

Pièces jointes

  • Copie de test(1).xlsm
    22.2 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour davy76,

Il est facile de voir (test en colonne O) que par exemple les cellules telles que A2:A9 ne sont pas vides.

Elles contiennent le texte vide "".

Il suffit d'effacer ces textes vides sur toute la colonne A, voyez ce fichier (2) :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Rows("38:" & Rows.Count).Delete 'RAZ
With Sheets("Feuil1") 'à adapter
    .[A:A].Replace "", " ", xlWhole 'espace dans les cellules vides ou contenant un texte vide
    .[A:A].Replace " ", "" 'effacement des espaces
    On Error Resume Next 'si aucune SpecialCell
    Intersect(.[A:A,J:J], .[A:A].SpecialCells(xlCellTypeConstants).EntireRow).Copy [B38]
End With
Columns.AutoFit 'ajustement largeurs
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
A+
 

Pièces jointes

  • test(2).xlsm
    24.4 KB · Affichages: 6

Statistiques des forums

Discussions
312 193
Messages
2 086 058
Membres
103 110
dernier inscrit
Privé