Voir aussi
Tester si une valeur existe dans une plage
Je cherche à déterminer si une valeur que j'indique existe dans une plage de données. Si c'est le cas je voudrais qu'elle soit sélectionnée
Sub cherche_valeur()
valtest = InputBox("entrez la valeur à rechercher")
For Each c In [A1:f12]
If c Like valtest Then
c.Select
Exit Sub
End If
Next
MsgBox "Pas de " & valtest & " dans la plage testée
!"
End Sub
Popi, Flo Cabon, (N°171)
Supprimer des cellules vides au dessus d'une zone remplie
Comment en VBA supprimer les cellules vides au dessus d'une zone remplie dans une colonne ?
On Error Resume Next
Range([A1], [A250].End(xlUp)).SpecialCells(xlCellTypeBlanks).Delete

Et si tu ne connais pas le nombre de lignes
Range([A1], [A:A].Find("*", , , , , xlPrevious))
.SpecialCells(xlCellTypeBlanks).Delete
Laurent Longre, (N°170)
Codes des SpecialCells
Dans l'expression : [A:A].SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants, 23).Count = 1 Then quelle est la fonction de 23 dans SpecialCells(xlCellTypeConstants, 23).
Si tu fais
Edition, Atteindre, cellules, expression.SpecialCells(Type, Value),
Value est un Argument de type Variant facultatif.

Si l'argument Type a la valeur
xlCellTypeConstants ou xlCellTypeFormulas, l'argument Value permet de
déterminer les types de cellules à inclure dans le résultat.
Ces valeurs peuvent être additionnées pour renvoyer plusieurs types. Par défaut,
toutes les constantes ou formules ( nombre, text, valeur logique, erreur) sont
sélectionnées, quel que soit leur type. et quand les quatres sont sélectionnées,
Value = 23
isabelle, (N°169)
Retour chariot dans une cellule
Comment fait-on pour aller à la ligne sans changer de cellule dans excel
alt+enter

(ctrl+enter dans les textbox des userform)
Flo Cabon, (N°168)
Récupérer en VBA le nom d'une cellule
La cellule A1 est nommée "première_cellule". Comment faire pour récupérer le nom de cette cellule en VBA ?
dim NomCellule as string
NomCellule = [a1].name.name
Pierre Fauconnier, (N°167)
Limiter les cellules accessibles à une seule plage
Comment limiter les déplacements possibles pour un utilisateur à la plage B10-C12 d'une feuille ?
Worksheets("Feuil1").ScrollArea = "B10:C12"
Papou, (N°166)
Définir la cellule affichée en haut et à gauche
Comment imposer dans une macro que la cellule AV200 soit celle qui apparait en haut et à gauche de la feuille ?
Application.GoTo Reference:=[AV200], Scroll:=True
ChrisV, (N°165)
Effacer les cellules
Comment effacer par VBA le contenu de toutes les cellules d'une feuille ?
Sub Macro1()
Cells.ClearContents 'efface le contenu
End Sub

Sub Macro2()
Cells.Clear 'efface le contenu et le format
End Sub
isabelle, (N°164)
Valeur de la dernière cellule non vide
Comment trouver la valeur contenue dans la dernière cellule non vide d'une colonne qui peut contenir des cellules vides ?
FEUILLE :
Si tu nommes Zone (insertion> nom> définir) la région qui t'intéresse:
{=INDIRECT(ADRESSE(MAX((LIGNE(Zone)*(Zone<>"")));COLONNE(Zone)))}
Formule matricielle : ne pas saisir les accolades mais valider par ctrl+maj+entrée

VBA :
ET comment par VBA atteindre la dernière cellule d'une colonne (disons A) ?
range ("A1").end(xldown)
Si tu veux celle qui est juste en dessous pour y inscrire par exemple tes nouvelles données :
range ("A1").end(xldown).offset(0,1).
Si tu a des cellules vides cette méthode te renvoie la première cellule vide en partant du
haut. Si tu as vraiment besoin de la dernière de la colonne, pars du bas :
range ("A65536").end(xlup)
celle du dessous = range("A65536").end(xlup).offset(0,1)

Mais attention ! cette méthode est super dès lors qu'il y a plus d'une cellule remplie dans ta
colonne. Si elle est vide ou si elle ne contient qu'une seule cellule, ceci te renvoie une
erreur. Il faut donc penser à gérer cette situation le cas échéant. Genre (toujours pour
sélectionner la première vide) :
If range ("A1").value= "" then
range("A1").select
Else IF range("A1").value <> "" AND range("A2").value =
"" then
range("A2").select
Else
range ("A1").end(xldown).offset(0,1)
End If
Alain Vallon, (N°163)
Copier la valeur d'une cellule
Comment copier le contenu d'une cellule dans une autre ?
Range("A2").Value=Range("A1").Value
ou même
Range("A2")=Range("A1")
ou encore
[A2]=[A1]

Si ta cellule A1 possède une couleur, par exemple, que tu veux recopier en plus
de
son contenu, tu peux faire :

[A1].Copy [A2]
Frédéric Sigonneau, (N°162)
Cellule cible fusionnée
Dans une macro j'ai l'instruction : if target.value = "" then... Parfois la cellule cible est une cellule fusionnée ce qui fait planter la macro. Comment éviter ce problème ?
Remplace ton instruction par
If Target(1).Value="" Then
ou
If Target.Range("A1").Value="" Then
Frédéric Sigonneau, (N°161)