VBA - comment se positionner sur une cellule si critère

Bonsoir,

J'ai un souci avec Excel... je n'arrive pas à trouver, via F1, le moyen de me positionner dans une cellule répondant à un critère

Je souhaite copier une plage de cellules, d'un onglet vers un autre, en écrasant une plage existante si existence d'un critère

Qq"un aurait il la syntaxe ?

Merci

Bonjour,

Je ne sais pas si bien compris la question ...

Pour se positionner sur la première cellule trouvée contenant "a" dans la feuille en cours :

Sub Position()
    Dim R As Range
    For Each R In ActiveSheet.Cells
        If R.Value = "a" Then
            R.Select
            Exit For
        End If
    Next R
End Sub

Par contre pour copier, il y a plus simple et il est préférable de laisser les sélections de côté en VBA.

Je débute (allez, 4 jours de pratique) et je bloque la dessus:

Ci joint le code de la fonction, pour comprendre!

Je cherche tout simplement, à copier une plage à la suite d'un tableau si la condition " il existe une cellule de la colonne E qui à la même valeur qu'une autre cellule" n'est pas vérifiée. Si la condition est vérifiée , il faut trouver la 1ere cellule et écraser l'existant

Sub Export()

Dim lignevideE As Long
Dim cellule As Range
Dim R As Range
Dim test As Long

    ' c'est mon critère : valeur de la cellule E2 (et des suivantes)
test = Sheets("Saisie Réel").Range("E2").Value

    ' je détermine la derniere ligne vide de la colonne E
lignevideE = Sheets("Collecte_Données").Range("E65536").End(xlUp).Row + 1

'For Each cellule In Sheets("Collecte_Données").Range("E:E")
    'If cellule.Value = Sheets("Saisie Réel").Range("E2").Value Then

    'For Each R In Sheets("Collecte_Données").Range("E:E")
        If R.Value = test Then
            R.Select
            Sheets("Saisie Réel").Range("plage_copie").Copy
            Sheets("Collecte_Données").Range(R).Select
            Sheets("Collecte_Données").Range("cellule").PasteSpecial Paste:=xlPasteValues

            Exit For
        End If
    Next R

    'je n'ai pas de cellule répondant au critère => je copie ma plage de cellule à la suite des infos déja mises sur l'onglet

 'Next

    'je copie la plage "plage_copie" de l'onglet "Saisie Réel"
Sheets("Saisie Réel").Range("plage_copie").Copy

    'je me positionne sur la premiere cellule vide la colonne E et je colle
Sheets("Collecte_Données").Range("E" & lignevideE).PasteSpecial Paste:=xlPasteValues
Sheets("Saisie Réel").Range("A1").Select

End Sub

Désolé, mais c'est pas du tout clair pour moi, et ton code ne devrait pas fonctionner comme ça, des boucles sont en moitié neutralisées...

Ce qui n'est pas clair :

il existe une cellule de la colonne E qui à la même valeur qu'une autre cellule

il faut trouver la 1ere cellule et écraser l'existant

Certainement plus clair avec un fichier.

Rechercher des sujets similaires à "vba comment positionner critere"