Création d'une macro copier-coller s'il y a des valeurs dans une colonne

Bonjour,

Je fais une extraction pour faire un suivi des commandes en cours.

Comment puis-je faire pour que mon fichier détecte que si j'ai une valeur dans la colonne Q (et peu importe où elle se trouve et cela peut amener à évoluer) alors il va aller me la coller dans une autre cellule. Dans mon fichier ci-joint, par exemple, je veux aller copier la valeur présente dans la cellule Q12 et la coller dans la cellule H13 ? Idem pour pour la cellule R12 à copier et à coller dans la cellule 113.

Merci de votre aide

10test.xlsm (268.33 Ko)

Bonjour,

Voici un essai qui va remplir la feuille active de la façon demandée:

9test-3.xlsm (264.71 Ko)

La macro:

Sub remplissage()
Dim colACopier(1 To 2) As Integer, colAColler(1 To 2) As Integer, ligFin As Integer, colFin As Integer, _
nbColBonus As Integer
Dim tableau As Variant

colACopier(1) = Range("Q1").Column
colACopier(2) = Range("R1").Column
colAColler(1) = Range("H1").Column
colAColler(2) = Range("I1").Column

nbColBonus = 9
ligFin = Range("A" & Rows.Count).End(xlUp).Row + 1
colFin = Cells(1, Columns.Count).End(xlToLeft).Column + nbColBonus 'le nombre de colonnes qui ne sont pas dans _
la plage nommée

tableau = Range("A2", Cells(ligFin, colFin)).Value

For i = 2 To UBound(tableau, 1)
    For j = 1 To UBound(colACopier, 1)
        If Not tableau(i, colACopier(j)) = "" Then
            tableau(i + 1, colAColler(j)) = tableau(i, colACopier(j))
        End If
    Next j
Next i

ReDim Preserve tableau(1 To UBound(tableau, 1), 1 To UBound(tableau, 2) - nbColBonus)
Range("A2").Resize(UBound(tableau, 1), UBound(tableau, 2)).Value = tableau
End Sub

Bonjour,

Merci beaucoup, la macro fonctionne :)

Rechercher des sujets similaires à "creation macro copier coller valeurs colonne"