Rechercher premiere cellule vide sur ligne

Sub paste_data()

Worksheets("WBS").Activate

  Dim lastCell As Range
  Dim targetRange As Range

  Set lastCell = Cells(5, Columns.Count).End(xlToLeft).Offset(0, 1)
  Set targetRange = Range(lastCell, lastCell.Offset(200, 0))

  targetRange.Formula = "=IFERROR(INDEX(BS!$A$1:$ZZ$999,MATCH($A5,BS!$A$1:$A$999,0),14),"""")"

End Sub

Bonjour à tous et à toutes.

J'ai une macro qui me sert à trouver la première cellule vide dans une ligne.

Je crois que je suis en erreur car la macro sélectionne la dernière cellule vide.

La ligne est la no 5

Exemple:

J"ai des valeurs dans les colonnes A-B-C-D-E et rien dans F-G. Des valeur dans H-I , ma macro va sélectionner la colonne J au lieu de F

J'en ai besoin pour appliquer un range de valeur et faire une fonction index à partir de cette formule.

Voici le code ainsi que le fichier excel.

Merci de votre support et bonne journée

Edit : annulation.

Il n'y a rien dans les colonnes J et K. Vous pouvez corriger ?

Bonjour Optimix,

Merci pour le fichier. Je vais m'en servir dans d'autres fichiers.

Malheureusement il ne contient pas ce dont j'ai besoin.

Dans le fichier fournis, merci encore, il permet de trouver la dernière cellule vide d'une ligne ou d'une colonne. Mais je n'ai pas trouvé la macro pour sélectionner la première cellule vide d'une ligne.

Je joins le fichier tuto avec ce que je cherche précisement.

MErci encore

2tuto.xlsm (24.39 Ko)

J'ai vu. Essayez ceci :

Sub paste_data()

    Worksheets("WBS").Activate
    Dim ligne As Long, colon As Integer, I As Long
    Dim lastCell As Range
    Dim targetRange As Range

    ligne = 5
    For I = 1 To Cells(ligne, Columns.Count).End(xlToLeft).Column
        If IsEmpty(Cells(ligne, I)) Then
            colon = I
            Exit For
        End If
    Next I
MsgBox colon: End

    Set lastCell = Cells(ligne, Columns.Count).End(xlToLeft).Offset(0, 1)
    Set targetRange = Range(lastCell, lastCell.Offset(200, 0))

    targetRange.Formula = "=IFERROR(INDEX(BS!$A$1:$ZZ$999,MATCH($A5,BS!$A$1:$A$999,0),14),"""")"

End Sub

J'ai mis un point d'arrêt dans votre code et vous laisse le soin de finir.

Bonjour.

Je vais donc définir ma colonne par colon

Sub paste_data_corrige()

    Worksheets("WBS").Activate
    Dim ligne As Long, colon As Integer, I As Long
    Dim lastCell As Range
    Dim targetRange As Range

    ligne = 5
    For I = 1 To Cells(ligne, Columns.Count).End(xlToLeft).Column
        If IsEmpty(Cells(ligne, I)) Then
            colon = I
            Exit For
        End If
    Next I
'MsgBox colon: End

    Set lastCell = Cells(5, colon)
    Set targetRange = Range(lastCell, lastCell.Offset(200, 0))

    targetRange.Formula = "=IFERROR(INDEX(BS!$A$1:$ZZ$999,MATCH($A5,BS!$A$1:$A$999,0),14),"""")"

End Sub

Merci pour le point d'arrêt. Ca ma permis de comprendre 2 - 3 trucs.

Vraiment efficace.

Bonne fin de journée Optimix

bonjour,

Sub PremierVide()
     Dim c
     On Error Resume Next
     Set c = Worksheets("feuil2").Rows(5).SpecialCells(xlCellTypeBlanks)(1)
     On Error GoTo 0
     If c Is Nothing Then MsgBox "erreur" Else MsgBox c.Address
End Sub

OK. Bonne continuation.
Salutation BsAlv.

salut Optimix .

Rechercher des sujets similaires à "rechercher premiere vide ligne"