Copier colonne d'un onglet sur l'autre ms ds un ordre différent
Résolu
bleue35
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
bleue35 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
bleue35 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour les gens,
Ici une authentique bleue qui aurait besoin de votre aide.
En pompant une programmation de macro j'ai partiellement réussi à faire ce que je souhaite.
Soit copier les lignes vides d'un onglet « Relevé » sur un autre onglet « Synthèse » :
Sub Copier_lignes_non_vides()
Dim wsReleve As Worksheet, rgReleve As Range
Dim wsSynthese As Worksheet, rgSynthese As Range
Dim c As Range, i As Long
Application.ScreenUpdating = False
Set wsReleve = ThisWorkbook.Sheets("Releve")
Set rgReleve = wsReleve.Range("D7:H280")
Set wsSynthese = ThisWorkbook.Sheets("Synthese")
Set rgSynthese = wsSynthese.Range("A2")
For i = rgReleve.Row To rgReleve.Row + rgReleve.Rows.Count - 1
Set c = wsReleve.Range("D" & i & ":H" & i)
If Application.WorksheetFunction.Count(c) > 0 Then
c.Copy
rgSynthese.PasteSpecial xlPasteValues
Set rgSynthese = rgSynthese.Offset(1)
End If
Next i
wsSynthese.Range("D" & rgSynthese.Row & ":H" & Rows.Count).ClearContents
Application.ScreenUpdating = True
End Sub
J'ai donc les données nécessaires sur l'onglet « Synthèse » mais pas disposées dans le bon ordre.
C'est-à-dire que j'ai des données dans 5 colonnes qui s'affichent dans le même ordre que dans l'onglet « Relevé » or je voudrais que les informations disponibles sur la ligne se répartissent dans un autre ordre.
Soit que les données disponibles en colonne D de l'onglet « Relevé » se retrouvent en colonne E dans l'onglet « Synthèse » par exemple ; la F en A ; la E en B ; la G en D et la H en C. Sachant que les intitulés de colonne sont les mêmes.
Je vous remercie d'avance pour votre aide,
Bonne soirée
Bleue
Ici une authentique bleue qui aurait besoin de votre aide.
En pompant une programmation de macro j'ai partiellement réussi à faire ce que je souhaite.
Soit copier les lignes vides d'un onglet « Relevé » sur un autre onglet « Synthèse » :
Sub Copier_lignes_non_vides()
Dim wsReleve As Worksheet, rgReleve As Range
Dim wsSynthese As Worksheet, rgSynthese As Range
Dim c As Range, i As Long
Application.ScreenUpdating = False
Set wsReleve = ThisWorkbook.Sheets("Releve")
Set rgReleve = wsReleve.Range("D7:H280")
Set wsSynthese = ThisWorkbook.Sheets("Synthese")
Set rgSynthese = wsSynthese.Range("A2")
For i = rgReleve.Row To rgReleve.Row + rgReleve.Rows.Count - 1
Set c = wsReleve.Range("D" & i & ":H" & i)
If Application.WorksheetFunction.Count(c) > 0 Then
c.Copy
rgSynthese.PasteSpecial xlPasteValues
Set rgSynthese = rgSynthese.Offset(1)
End If
Next i
wsSynthese.Range("D" & rgSynthese.Row & ":H" & Rows.Count).ClearContents
Application.ScreenUpdating = True
End Sub
J'ai donc les données nécessaires sur l'onglet « Synthèse » mais pas disposées dans le bon ordre.
C'est-à-dire que j'ai des données dans 5 colonnes qui s'affichent dans le même ordre que dans l'onglet « Relevé » or je voudrais que les informations disponibles sur la ligne se répartissent dans un autre ordre.
Soit que les données disponibles en colonne D de l'onglet « Relevé » se retrouvent en colonne E dans l'onglet « Synthèse » par exemple ; la F en A ; la E en B ; la G en D et la H en C. Sachant que les intitulés de colonne sont les mêmes.
Je vous remercie d'avance pour votre aide,
Bonne soirée
Bleue
A voir également:
- Copier colonne d'un onglet sur l'autre ms ds un ordre différent
- Comment trier par ordre alphabétique sur excel - Guide
- Déplacer colonne excel - Guide
- Rouvrir un onglet fermé - Guide
- Copier un disque dur sur un autre - Guide
- Colonne word - Guide
3 réponses
Bonjour,
Vous dites :
Soit copier les lignes vides d'un onglet « Relevé » sur un autre onglet « Synthèse » :
Alors la suite est incompréhensible par rapport à des lignes vides... !
Vous dites :
Soit copier les lignes vides d'un onglet « Relevé » sur un autre onglet « Synthèse » :
Alors la suite est incompréhensible par rapport à des lignes vides... !
Bonjour,
oui désolée il manque la virgule...
J'ai réussi à avoir ce que je souhaite, soit....
Merci de votre aide
oui désolée il manque la virgule...
J'ai réussi à avoir ce que je souhaite, soit....
Merci de votre aide
Bonjour Bleue,
Essaies ce code avec CountA au lieu de Count :
Essaies ce code avec CountA au lieu de Count :
Option Private Module Option Explicit Public Sub Copier_lignes_non_vides() Dim r As Range, i As Long Application.ScreenUpdating = False Set r = ThisWorkbook.Sheets("Synthese").Range("A2") With ThisWorkbook.Sheets("Releve").Range("D7:H280") For i = 1 To .Rows.Count If Application.WorksheetFunction.CountA(.Rows(i)) > 0 Then r.Resize(1, .Columns.Count).Value = .Rows(i).Value Set r = r.Offset(1) End If Next i r.Resize(Rows.Count - .Row + 1).ClearContents End With Application.ScreenUpdating = True End Sub