Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3007 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Construire formule à partir de variable lettre de colonne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA Excel] Construire formule à partir de variable lettre de colonne

n°1491472
format_c
Plouf plouf ...
Posté le 14-12-2006 à 17:27:36  profilanswer
 

Salut,
Voilà mon souci... et je suis sûr de ne pas être le premier :D
 
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 ! :)

mood
Publicité
Posté le 14-12-2006 à 17:27:36  profilanswer
 

n°1491482
kiki29
Posté le 14-12-2006 à 17:52:30  profilanswer
 
n°1491490
seniorpapo​u
Posté le 14-12-2006 à 17:59:48  profilanswer
 

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

n°1491495
format_c
Plouf plouf ...
Posté le 14-12-2006 à 18:17:29  profilanswer
 

Merci pour vos réponses les copaings !

n°1493662
ingenieurc​esi
Posté le 19-12-2006 à 17:24:18  profilanswer
 

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+

n°1495503
klfir
Posté le 22-12-2006 à 21:36:08  profilanswer
 

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

n°1498242
mannkael
Posté le 03-01-2007 à 14:10:23  profilanswer
 

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.

n°1498255
seniorpapo​u
Posté le 03-01-2007 à 14:27:09  profilanswer
 

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


Message édité par seniorpapou le 03-01-2007 à 14:27:26
n°1498493
mannkael
Posté le 03-01-2007 à 22:45:24  profilanswer
 

Merci, seigneurpapou, c'est exactement ce qu'il fallait faire. Encore merci.

n°1498507
mannkael
Posté le 03-01-2007 à 23:12:37  profilanswer
 

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.

mood
Publicité
Posté le 03-01-2007 à 23:12:37  profilanswer
 

n°1499397
mannkael
Posté le 05-01-2007 à 15:55:32  profilanswer
 

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.

n°1499485
seniorpapo​u
Posté le 05-01-2007 à 18:13:02  profilanswer
 

Bonsoir,
peux-tu donner un exemple?
Cordialement

n°1499741
mannkael
Posté le 06-01-2007 à 14:02:21  profilanswer
 

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.

n°1499744
mannkael
Posté le 06-01-2007 à 14:19:25  profilanswer
 

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.  

n°1499758
seniorpapo​u
Posté le 06-01-2007 à 15:14:05  profilanswer
 

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

n°1499866
mannkael
Posté le 07-01-2007 à 00:56:32  profilanswer
 

Magnifique! çà a marché du premier coup!!!
Merci beaucoup. Je vais essayer de comprendre..

n°1501481
mannkael
Posté le 10-01-2007 à 19:31:42  profilanswer
 

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

n°1501585
seniorpapo​u
Posté le 11-01-2007 à 07:12:31  profilanswer
 

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


Message édité par seniorpapou le 11-01-2007 à 07:25:16
n°1501634
mannkael
Posté le 11-01-2007 à 11:23:55  profilanswer
 

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.

n°1501753
seniorpapo​u
Posté le 11-01-2007 à 15:41:00  profilanswer
 

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

n°1501832
mannkael
Posté le 11-01-2007 à 17:35:47  profilanswer
 

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.

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA Excel] Construire formule à partir de variable lettre de colonne

 

Sujets relatifs
Variable entre 2 menu deroulants[Vba Word] action sur les shapes
[HashTeuMeuLeu] Construire des colonnes avec des <div> au lieu de <td>temps de chargement: c'est long a partir de?
creation hyperliens vers dossier [VBA - E][VBA access]:Utilisation de RowSouceType
Variable et double menu deroulanttransfert de données a partir du c++ vers Excel
Pointeur vers un tableau multi dimensionnel de taille variable 
Plus de sujets relatifs à : [VBA Excel] Construire formule à partir de variable lettre de colonne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR