Construire formule à partir de variable lettre de colonne [VBA Excel] - VB/VBA/VBS - Programmation
Marsh Posté le 14-12-2006 à 17:52:30
voir formules en http://forum.hardware.fr/hardwaref [...] 2089-1.htm
Marsh Posté le 14-12-2006 à 17:59:48
Bonsoir,
A = "E"
monran = A & "5"
MsgBox Range(A & "5" ).Value
MsgBox Range(monran).Value
les deux fonctionnent bien sans pb
tu dois avoir un autre pb
Cordialement
Marsh Posté le 19-12-2006 à 17:24:18
ca marche pas comme ca
A doit être déclaré en string
dim A as string
A=inputbox("quelle est la colonne ?" )
A=rtrim(ltrim(A))
range("&A&"5).select
normalement ca devrait marché
tien au courant
A+
Marsh Posté le 22-12-2006 à 21:36:08
Ce style là aussi devrait marcher (ca rejoint ce qu'à dit ingenieurcesi, sauf ecrit differement)
dim A as string
dim col as byte
col=5
A="E" & col
range(A).Value
Marsh Posté le 03-01-2007 à 14:10:23
Bonjour.
Dans ma feuille de calcul excel j'ai un autofilter, et je voudrais remplir son criteria1 par la valeur d'une cellule (A1), afin que le déclenchement de ma macro fasse fonctionner l'autofilter sur ce critère.
Pour le moment j'ai écrit :
Dim madonnée As Integer
range("A1" ).Select
madonnée = ("A1" ).Value
range("C3:D3" ).Select
Selection.AutoFilter Field:=2, Criteria1:=madonnée
Si je remplace la valeur de "madonnée" par un chiffre à la place de "("A1" ).Value", mon filtre marche bien évidemment. C'est la description de madonnée qui pèche.... Comment faire?
Merci pour une aide.
Marsh Posté le 03-01-2007 à 14:27:09
Bonjour,
pas tout compris, mais remplaces :
madonnée = ("A1" ).Value
par
madonnée = range("A1" ).Value
si ce que tu as mis n'est pas une erreur de frappe.
Cordialement
Marsh Posté le 03-01-2007 à 22:45:24
Merci, seigneurpapou, c'est exactement ce qu'il fallait faire. Encore merci.
Marsh Posté le 03-01-2007 à 23:12:37
Bonjour,
Dans ma feuille de calcul je dispose d'un autofilter qui me filtre (par une macro) des données en lignes sur plusieurs colonnes. Je voudrais entrer des valeurs sur certaines de ces colonnes appartenant aux lignes filtrées. Le problème est de définir leur positions...sais pas faire.
Marsh Posté le 05-01-2007 à 15:55:32
Bonjour,
Explication plus détaillée de mon problème:
J'essaie de faire la manip suivante: J'ai une feuille avec une liste à plusieurs colonnes A, B, C, D.
La colonne C doit recevoir la donnée d'une variable aprés sélection de la ligne opérée sur une donnée unique dans A.
Autrement dit la macro doit faire :
Identifier le mot unique en colonne A,
Sélectionner la ligne contenant ce mot,
Se positionner sur la cellule de C correspondante à la même ligne,
Et y copier une donnée qu'elle trouve dans une variable.....???? Est-ce claire et est-ce possible? Merci pour votre aide.
Marsh Posté le 06-01-2007 à 14:02:21
Violà le cas qui me pose problème:
A B C D E
C1 C2 C3 765 D
A AZEER
B QSDQ
C SDFS
D DFGDF
E FGHFGH
F GHJGHJ
Sélectionner la ligne grâce à la variable E1 (ici la ligne 5)
Et coller la valeur de la variable D1 en ligne 5 et colonne C
( les colonnes C1, C2, C3, sont des listes) Merci.
Marsh Posté le 06-01-2007 à 14:19:25
Mon exemple est mal sorti. Je corrige:
A B C D E
1 C1 C2 C3 765 D
2 A aaa
3 B bbb
4 C ccc
5 D ddd 765
6 E eee
Sélectionner la ligne grâce à la variable E1 (ici la ligne 5)
Et coller la valeur de la variable D1 en ligne 5 et colonne C
( les colonnes C1, C2, C3, sont des listes) Merci.
Marsh Posté le 06-01-2007 à 15:14:05
Bonsoir,
Sub chacha()
With Worksheets(1).Range("a:a" )
cher = Range("E1" ).Value
Set c = .Find(cher, LookIn:=xlValues)
If Not c Is Nothing Then
c.Select
c.Offset(0, 2).Value = Range("D1" ).Value
Else
MsgBox cher & "non trouvé"
End If
End With
End Sub
Ton exemple était lisible en regardant le bbcode
Cordialement
Marsh Posté le 07-01-2007 à 00:56:32
Magnifique! çà a marché du premier coup!!!
Merci beaucoup. Je vais essayer de comprendre..
Marsh Posté le 10-01-2007 à 19:31:42
Bonjour,
Aprés activation manuelle d'un autofiltre, je voudrais stocker dans une cellule ou une variable le nom de ce filtre qui vient de fonctionner. Est-ce possible? . le but est de démarrer ou non une macro par ctrl+a en fonction du nom de ce filtre
Marsh Posté le 11-01-2007 à 07:12:31
Bonjour,
Ce que tu nommes autofitre est-un filtre automatique?
Si oui, qu'appelles-tu le "nom" de ce filtre?
Ceci devrait pouvoir t'aider:
L'exemple suivant montre comment affecter à une variable la valeur de la propriété Criteria1 du filtre pour la première colonne de la plage filtrée dans la feuille de calcul Crew.
With Worksheets("Crew" )
If .AutoFilterMode Then
With .AutoFilter.Filters(1)
If .On Then c1 = .Criteria1
End With
End If
End With
Tu aurais du ouvrir un sujet spécifique parce que je crains que ta question ne corresponde pas au titre : Construire une formule......
et peu de monde ira lire ta question ici.
Cordialement
Marsh Posté le 11-01-2007 à 11:23:55
Merci senior d'avoir répondu.
Effectivement, ce sont bien des filtres automatiques.
Le nom du filtre est en fait le nom figurant en tête de colonne de filtre. Par défaut ce nom est "colonne1" "colonne2".. etc. C'est ce nom que je voudrais stocker dans une variable ou une cellule, après avoir fait fonctionner le filtre...????
Ce n'est pas le "criteria",
Merci.
Marsh Posté le 11-01-2007 à 15:41:00
Bonsoir,
With Worksheets("origin2004" )
If .AutoFilterMode Then
With .AutoFilter
For i = 1 To .Filters.Count
If .Filters(i).On Then
MsgBox "colonne" & i
end if
Next i
End With
End If
End With
Cordialement
Marsh Posté le 11-01-2007 à 17:35:47
Merci beaucoup, seniorpapou, vraiment vous m'avez beaucoup aidé. Je suppose que vous faites des essais avant de communiquer les solutions, parce qu'elles marchent sans bavures!
Encore merci.
Marsh Posté le 14-12-2006 à 17:27:36
Salut,
Voilà mon souci... et je suis sûr de ne pas être le premier
En résumé, j'ai une variable A = "E"
Je voudrait obtenir la valeur de la cellule E5, par un Range ("E5" ).value, mais avec ma variable A
Et évidemment Range (A & "5" ).value ne fonctionne pas
Si quelqu'un a une solution sous le coude, je suis preneur !