• Initiateur de la discussion Initiateur de la discussion apdf1
  • 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 !

apdf1

XLDnaute Impliqué
Bonjour,

Voila j'ai un code qui ma été fait par Papou-Net qui marche très bien et que je remercie au passage j'aimerais si possible faire une petite motif.

Le code actuel copie les colonnes 4 et 5 c'est-à-dire "D et E" j'aimerais qu'il copie "A et D et E"
Code:
Sub Liste_Click()
 
Sheets(4).Select
Dim S As Worksheet, D As Worksheet

Set S = ThisWorkbook.Sheets(1)
Set D = ThisWorkbook.Sheets(4)

For lg = 2 To 110 'Ligne de 5 à 110
  For cl = 4 To 5 'Colonne  D et E
  
  
    If Not S.Cells(lg, cl) = "" Then D.Cells(lg, cl) = S.Cells(lg, cl)
  Next
  If Not S.Cells(lg, 9) = "" Then D.Cells(lg + 3, 4) = S.Cells(lg, 9)
Next

End Sub
Un très grand merci à tout ceux qui pourront m'aider...
Cordialement
Max
 
Re : Modifier de code

Bonjour Max

A tester

Code:
Sub Liste_Click()
Sheets(4).Select
Dim S As Worksheet, D As Worksheet
Set S = ThisWorkbook.Sheets(1)
Set D = ThisWorkbook.Sheets(4)
For lg = 2 To 110 'Ligne de 5 à 110
  For cl = 4 To 6 'Colonnes  D at F
    If Not S.Cells(lg, cl) = "" Then D.Cells(lg, cl) = S.Cells(lg, cl)
  Next
  If Not S.Cells(lg, 9) = "" Then D.Cells(lg + 3, 4) = S.Cells(lg, 9)
Next
End Sub

Euh dis-moi Max
il n'est jamais trop tard pour apprendre oui !!
Mais toi tu apprends quand ???
 
Re : Modifier de code

Bonjour apdf1, salut pierrejean 🙂

pierrejean, notre ami parle de la colonne A...

Je ne vois pas l'intérêt de faire une boucle pour 2 colonnes, donc :

Code:
For lg = 2 To 110 'Ligne de 5 à 110
  If Not S.Cells(lg, 1) = "" Then D.Cells(lg, 1) = S.Cells(lg, 1)
  If Not S.Cells(lg, 4) = "" Then D.Cells(lg, 4) = S.Cells(lg, 4)
  If Not S.Cells(lg, 5) = "" Then D.Cells(lg, 5) = S.Cells(lg, 5)
  If Not S.Cells(lg, 9) = "" Then D.Cells(lg + 3, 4) = S.Cells(lg, 9)
Next
Edit : bien évidemment plus simple :

Code:
For lg = 2 To 110 'Ligne de 5 à 110
  If S.Cells(lg, 1) <> "" Then D.Cells(lg, 1) = S.Cells(lg, 1)
  If S.Cells(lg, 4) <> "" Then D.Cells(lg, 4) = S.Cells(lg, 4)
  If S.Cells(lg, 5) <> "" Then D.Cells(lg, 5) = S.Cells(lg, 5)
  If S.Cells(lg, 9) <> "" Then D.Cells(lg + 3, 4) = S.Cells(lg, 9)
Next
A+
 
Dernière édition:
Re : Modifier de code

Re,

Juste une petite question, je copie la feuille1 vers la feuille4 j'ai un petit souci je copie a partir de la ligne 7 jusque la pas de problème et j'aimerais coller sur la feuille 4 a la ligne 2 si possible et je ne voit pas comment faire.


Code:
Sub Liste_Click()

Sheets(4).Select
Dim S As Worksheet, D As Worksheet

Set S = ThisWorkbook.Sheets(1)
Set D = ThisWorkbook.Sheets(4)


For lg = 7 To 110 'Ligne de 5 à 110
  If Not S.Cells(lg, 1) = "" Then D.Cells(lg, 1) = S.Cells(lg, 1) 'ligne 1
  If Not S.Cells(lg, 4) = "" Then D.Cells(lg, 4) = S.Cells(lg, 4) 'ligne 4
  If Not S.Cells(lg, 5) = "" Then D.Cells(lg, 5) = S.Cells(lg, 5) 'ligne 5
  If Not S.Cells(lg, 9) = "" Then D.Cells(lg, 4) = S.Cells(lg, 9)
Next


End Sub

Merci d'avance

Cordialement
Max
 
Re : Modifier de code

Re,

Il faut vraiment que tu arrives à réfléchir Max :

Code:
For lg = 7 To 110 'Ligne de 7 à 110
  If S.Cells(lg, 1) <> "" Then D.Cells(lg - 5, 1) = S.Cells(lg, 1)
  If S.Cells(lg, 4) <> "" Then D.Cells(lg - 5, 4) = S.Cells(lg, 4)
  If S.Cells(lg, 5) <> "" Then D.Cells(lg - 5, 5) = S.Cells(lg, 5)
  If S.Cells(lg, 9) <> "" Then D.Cells(lg - 2, 4) = S.Cells(lg, 9)
Next
A+
 
- 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
573
Réponses
15
Affichages
779
Retour