XL 2016 Copier coller des valeurs d'une feuille vers une autres

Arthur.clb

XLDnaute Nouveau
Bonjour tout le monde,
Je suis en stage et je suis confronté à un petit problème car je dois à l'aide d'une macro copier une cellule spécifique de la feuille "tablo" vers une la première case vide de la colonne n°6 (entre la ligne 6 et 20) de la feuille "B38". C'est surement tout bête et très simple mais je rencontre quelques difficultés; voici mon code:

VB:
Sub MACROB38()
Dim i As Integer

Application.ScreenUpdating = False ' L'écran reste figé
With Sheets("B38")
    For i = 9 To 20
    Sheets("tablo").Select
        If .Cells(i, 6) = "" Then
        .Cells(i, 6) = Cells(3, 4)
        End If
   Next i
End With
End Sub
Merci d'avance
 

Calvus

XLDnaute Accro
Bonjour,

Comme ceci peut être
VB:
Sub MACROB38()
Dim i As Integer

Application.ScreenUpdating = False ' L'écran reste figé
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, 6) = "" Then
                .Cells(i, 6) = sheets("tablo").Cells(3, 4)
                End If
        End With
   Next i
End Sub
Non testé car pas de fichier..

A+
 

Calvus

XLDnaute Accro
Bonjour,

Quelle perte de temps !
C'est sûr que ça ne risquait pas de marcher..

Que faut il copier ?
Quelles valeurs ?
Une seule ?
Plusieurs ?
Par rapport à quoi ?
Etc...

A+
 

Arthur.clb

XLDnaute Nouveau
Bonjour,
Il faut copier une valeur spécifique du tableau de la feuille "tablo" vers la première case vide de la colonne n°6 de la feuille B38.
La valeur devra être copier 1 seule fois et non pas jusqu'à i=20. Car j'arrive a copier mais il copie jusqu'à i=20. Voici la nouvelle version de mon code (je ne suis pas loin mais je bloque)
VB:
Sub MACROB38()
Dim i As Integer
Dim col As String

Application.ScreenUpdating = False ' L'écran reste figé
col = "F"
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, col) = "" Then
                .Cells(i, 6) = Sheets("tablo").Cells(13, 3)
                Else
                i = i + 1
                End If
        End With
    Next i
End Sub
Merci d'avance et désolé pour le temps que cela vous prend
 

Calvus

XLDnaute Accro
Re,

Merci d'avance et désolé pour le temps que cela vous prend
La question n'est pas là. La question est qu'il est pénible de devoir deviner ce que l'on ne nous dit pas, et qu'il faille s'y prendre à plusieurs reprises pour quelque chose qui aurait pu être réglé du 1er coup..

Donc comme ceci :
VB:
Sub MACROB38()
Dim i As Integer
Dim col As String

Application.ScreenUpdating = False ' L'écran reste figé
col = "F"
    For i = 9 To 20
        With Sheets("B38")
                If .Cells(i, col) = "" Then
                .Cells(i, 6) = Sheets("tablo").Cells(13, 3): Exit Sub
                Else
                End If
        End With
    Next i
End Sub
A+
 

Discussions similaires


Haut Bas