Comprendre

Litiou

XLDnaute Nouveau
Bonjour,

Voulant comprendre et avancez, je voudrais savoir si quelqu'un peut m'expliquer en Français la macros du dessous



Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column
If Col = 2 Or Col = 3 Or Col = 5 Then
Me.Range("B:C,E:E").Copy Destination:=Sheets("Feuil2").Range("A1")
Application.CutCopyMode = False
End If
End Sub



Encore merci à tous.
Bonne journée.
 

Jacky67

XLDnaute Barbatruc
Bonjour,
Ceci peut-être....
C'est une macro évènementielle, elle est lancée à chaque changement de la feuille dans laquelle elle est placée.


Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column ' attribue à "Col" le numero de la colonne ou un changement a eu lieu
If Col = 2 Or Col = 3 Or Col = 5 Then
'si la colonne(Col)ou a lieu le changement est B ou C ou E
'Alors copie la colonne B,C,E de la feuille active vers la Feuil2 cellule de debut A1
Me.Range("B:C,E:E").Copy Destination:=Sheets("Feuil2").Range("A1")
'Enlève les pointillés de la sélection
Application.CutCopyMode = False
End If

Bon courage
 

Litiou

XLDnaute Nouveau
Bonjour,
Ceci peut-être....

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column ' attribue à "Col" le numero de la colonne ou un changement a eu lieu
If Col = 2 Or Col = 3 Or Col = 5 Then
'si la colonne(Col)ou a lieu le changement est B ou C ou E
'Alors copie la colonne B,C,E de la feuille active vers la Feuil2 cellule de debut A1
Me.Range("B:C,E:E").Copy Destination:=Sheets("Feuil2").Range("A1")
'Enlève les pointillés de la sélection
Application.CutCopyMode = False
End If

Bon courage


Merci beaucoup pour votre réponse.

Maintenant si je voulais faire la meme chose avec les colonnes A, B, C, E, F, H, I, J, O, P, Q.

Pour m'expliquer j'ai trouvé ce code qui me va super bien sur ce site, mais maintenant je voudrais l'adapter sur plein de fichier perso, donc pouvoir choisir les colonnes a chaque fois.

Encore merci
 

Litiou

XLDnaute Nouveau
Bonjour,
Ceci peut-être....

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column ' attribue à "Col" le numero de la colonne ou un changement a eu lieu
If Col = 2 Or Col = 3 Or Col = 5 Then
'si la colonne(Col)ou a lieu le changement est B ou C ou E
'Alors copie la colonne B,C,E de la feuille active vers la Feuil2 cellule de debut A1
Me.Range("B:C,E:E").Copy Destination:=Sheets("Feuil2").Range("A1")
'Enlève les pointillés de la sélection
Application.CutCopyMode = False
End If

Bon courage


Merci beaucoup pour votre réponse.

Maintenant si je voulais faire la meme chose avec les colonnes A, B, C, E, F, H, I, J, O, P, Q.

Pour m'expliquer j'ai trouvé ce code qui me va super bien sur ce site, mais maintenant je voudrais l'adapter sur plein de fichier perso, donc pouvoir choisir les colonnes a chaque fois.

Encore merci
 

Jacky67

XLDnaute Barbatruc
RE..
J'ai cru comprendre que c'était pour ../comprendre et avancez/..
Les explications ne sont pas claire ?
En Premier
Que faudra t-il mettre ici
If Col = 2 Or Col = 3 Or Col = 5 Then
Pour qu'il tienne compte des colonnes A, B, C, E, F, H, I, J, O, P, Q
En deux
Que faudra t-il changer là
Me.Range("B:C,E:E").Copy
Pour copier les colonnes A:C, E:F, H:J, O:Q
 

Litiou

XLDnaute Nouveau
Merci de votre réponse,
Oui c'est pour comprendre et avancer, j'ai essayer par moi-même de reproduire ce code en inscrivant ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column
If Col = 1 Or Col = 2 Or Col = 3 Or Col = 5 Or Col = 6 Or Col = 8 Or Col = 10 Or Col = 15 Or Col = 16 Or Col = 17 Then
Me.Range("A:C,E:F,H:J,O:Q").Copy Destination:=Sheets("Feuil2").Range("A1")
Application.CutCopyMode = False
End

C'est pour ca que je bloque et que j'essaie de comprendre l'erreur, et je me dis que cela vient de ma sélection de colonne.

Encore merci de prendre de ton temps.
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
On voit dans votre dernière image qu'il n'existe pas de feuille Excel "Feuil2".
Il existe bien un objet Worksheet Feuil2 que vous pourriez utiliser comme expression Worksheet, mais il représente la feuille Excel "POINT CONTRAT".
 

Jacky67

XLDnaute Barbatruc
Merci de votre réponse,
Oui c'est pour comprendre et avancer, j'ai essayer par moi-même de reproduire ce code en inscrivant ceci:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Col As Integer
Col = Target.Column
If Col = 1 Or Col = 2 Or Col = 3 Or Col = 5 Or Col = 6 Or Col = 8 Or Col = 10 Or Col = 15 Or Col = 16 Or Col = 17 Then
Me.Range("A:C,E:F,H:J,O:Q").Copy Destination:=Sheets("Feuil2").Range("A1")
Application.CutCopyMode = False
End If
End Sub


Ce lien n'existe plus


Mais il me met ce message d'erreur:
Ce lien n'existe plus

puis:
Ce lien n'existe plus

C'est pour ca que je bloque et que j'essaie de comprendre l'erreur, et je me dis que cela vient de ma sélection de colonne.

Encore merci de prendre de ton temps.
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 137
Membres
103 129
dernier inscrit
Atruc81500