Copier/coller sous conditions

  • Initiateur de la discussion Initiateur de la discussion davy76
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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...
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

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

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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
215
  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
107
Réponses
56
Affichages
2 K
Retour