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
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)
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
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)
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
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)

Comment fait-on pour aller à la ligne sans changer de cellule dans excel
alt+enter
(ctrl+enter dans les textbox des userform)
(ctrl+enter dans les textbox des userform)
Flo Cabon, (N°168)
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
NomCellule = [a1].name.name
Pierre Fauconnier, (N°167)
Comment limiter les déplacements possibles pour un utilisateur à la plage B10-C12 d'une
feuille ?
Worksheets("Feuil1").ScrollArea = "B10:C12"
Papou, (N°166)
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)
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
Cells.ClearContents 'efface le contenu
End Sub
Sub Macro2()
Cells.Clear 'efface le contenu et le format
End Sub
isabelle, (N°164)
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
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)

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]
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)
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
If Target(1).Value="" Then
ou
If Target.Range("A1").Value="" Then
Frédéric Sigonneau, (N°161)