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 SubPar 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 SubDé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.