Macro pour copier et placer les valeurs dans deux colonnes...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais, à nouveau, votre aide afin de rédiger une macro.
Cette macro devra copier et coller, dans une autre feuille, les données de deux colonnes....

voir fichier...

Je vous remercie pour votre aide, si précieuse, et pour le temps que vous voudrez bien vouloir m'accrder.

Bien amicalement,
Christian.
 

Pièces jointes

  • MacroCopierCollerBonnesColonnes.zip
    10.5 KB · Affichages: 27
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Bonjour Christian,

Dans le code de la feuille Bon de Commande :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dat As Range, col As Variant, P As Range
Set dat = [C8]
If Intersect(Target, dat) Is Nothing Then Exit Sub
[C11:G65536].ClearContents 'RAZ
With Feuil6 'CodeName de la feuille "Listes"
  col = Application.Match(dat.Value2, .[9:9], 0)
  If IsError(col) Then Exit Sub
  Set P = .Range(.Cells(10, col), .Cells(.Rows.Count, col).End(xlUp))
End With
[C11].Resize(P.Count) = P.Value
[G11].Resize(P.Count) = P.Offset(, 1).Value
End Sub
PS : j'aimerai bien, sur les fils précédents, que tu aies l'amabilité d'accuser réception des diverses solutions que je donne.

A+
 

Christian0258

XLDnaute Accro
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Re, le forum, job75,

Merci, une nouvelle fois, pour ton aide et le travail .

Je suis surpris de ta remarque, car je remercie à chaque fois les intervenants dont tu fais partie, bien évidemment.
Si j'ai pu louper une occasion de réceptionner une intervention, je m'en excuse, et réitère par la même, mes remerciements à tous.

Je teste ta macro et te dis...

Bien à vous,
Christian
 
Dernière édition:

Christian0258

XLDnaute Accro
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Re, le forum, job75,

Oups, pas vu ces pots 5 et 6, après mes remerciements concernat ce fil.
Je suis absolument désolé et m'en m'excuse vivement. Je vais prendre en compte ces perfectionnements sur le fil "Colonnes".

Dis-moi job75, en plaçant ton code de ce jour, post2, je me suis apperçu d'une erreur, de ma part.
J'ai mis un nouveau fichier dans ce post.
Aurais-tu la gentillesse d'y jeter un oeil ?, merci pour tout.

Toutes mes excuses...pour mon (mes) cafouillages.
Bien à toi.
Christian
 

Pièces jointes

  • MacroCopierCollerBonnesColonnesV02.zip
    10.6 KB · Affichages: 23
Dernière édition:

Yaloo

XLDnaute Barbatruc
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Bonjour à tous,

Désolé de m'incruster sur le fil.

A Job : Pourquoi utilises-tu Value2, j'ai bien regardé l'aide de VBE mais j'ai rien compris :mad:.

Merci d'avance

Martial
 

Christian0258

XLDnaute Accro
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Re, le forum, job75,

C'est parfait, j'ai appliquer la modif en fin de macro et modifier la zone de RAZ en deux zones pour ne pas effacer les formules adjacentes.

Merci infiniment.

Bien à toi,
Christian
 

job75

XLDnaute Barbatruc
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Bonjour Yaloo,

A Job : Pourquoi utilises-tu Value2, j'ai bien regardé l'aide de VBE mais j'ai rien compris :mad:.

La fonction Match recherche une valeur dans une liste de nombres.

Avec des dates, la propriété .Value renvoie une date et Match ne la trouvera pas.

Il faut donc utiliser .Value2 qui renvoie le nombre lié à la date.

A+
 

Christian0258

XLDnaute Accro
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Re, le forum, Yaloo, job75,

Je reviens vers vous, j'aurais une tite modif à vous demander.
Je souhaiterais que le collage se fasse sans les blancs du tableau de la feuille "Listes"....

voir fichier V03

Merci pour votre aide.
Bien amicalement,

Christian
 

Pièces jointes

  • CopierCollerBonneColonnesv03.zip
    15 KB · Affichages: 22

job75

XLDnaute Barbatruc
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Bonjour Christian,

Une petite boucle à la fin :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dat As Range, col As Variant, P As Range, n As Byte
Set dat = [C8]
If Intersect(Target, dat) Is Nothing Then Exit Sub
[C11:C42,H11:H42].ClearContents 'RAZ
With Feuil6 'CodeName de la feuille "Listes"
  col = Application.Match(dat.Value2, .[9:9], 0)
  If IsError(col) Then Exit Sub
  Set P = .Range(.Cells(10, col), .Cells(.Rows.Count, col).End(xlUp))
End With
For Each P In P
  If P <> "" Then
    [C11].Offset(n) = P
    [H11].Offset(n) = P.Offset(, 1)
    n = n + 1
  End If
Next
End Sub
A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Macro pour copier et placer les valeurs dans deux colonnes...

Re,

Une variante avec le filtre automatique :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dat As Range, col As Variant
Set dat = [C8]
If Intersect(Target, dat) Is Nothing Then Exit Sub
[C11:C42,H11:H42].ClearContents 'RAZ
With Feuil6 'CodeName de la feuille "Listes"
  col = Application.Match(dat.Value2, .[9:9], 0)
  If IsError(col) Then Exit Sub
  .Cells(9, col).Resize(.Rows.Count - 8, 2).AutoFilter 1, "?*"
  With .AutoFilter.Range.Offset(1).SpecialCells(xlCellTypeVisible)
    .Copy [IU1]
    [C11].Resize(.Count / 2) = [IU1].Resize(.Count / 2).Value
    [H11].Resize(.Count / 2) = [IV1].Resize(.Count / 2).Value
    [IU:IV].Delete
  End With
  .AutoFilterMode = False
End With
End Sub
Elle utilise les colonnes IU et IV comme colonnes auxiliaires.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 270
Messages
2 086 679
Membres
103 370
dernier inscrit
pasval