Activer cellule via variable

chombriko

XLDnaute Junior
Bonjour ,

Je possède une variable nommée "var_id_client" dans laquelle j'ai une certaine valeur, ainsi je voudrais activer la cellule dans une feuille nommée "table adresse contact" qui contient la valeur se trouvant dans la variable "var_id_client"
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

VB:
For i = 2 To Range("B65536").End(xlUp).Row
        If Range("B" & i).Value = var_id_client Then
            MsgBox Range("B" & i).Offset(0, 1).Value
            MsgBox Range("B" & i).Offset(0, 4).Value
            MsgBox Range("B" & i).Offset(0, 7).Value
        End If
Next
 

chombriko

XLDnaute Junior
Re : Activer cellule via variable

Arf je comprend pas , en effet avec les MsgBox sa marche mais avec les variables je n'ai rien!
Et j'ai besoin des variables parce qu'il me faut récupérer les données sur une feuille de la façon suivante :

Code:
 Sheets("FI-CE").Range("AM33").FormulaR1C1 = var_nom_contact
      '  Sheets("FI-CE").Range("AM37").FormulaR1C1 = var_Num_contact_tel
      '  Sheets("FI-CE").Range("AM35").FormulaR1C1 = var_mail_contact

Mais en sachant qu'il faudrait que je récupère chacune des variables et pas qu'une seule fois, par exemple s'il y a trois nom_contact il faudrait que je récupère les trois ect..
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

Peut-être de cette façon :
VB:
For i = 2 To Range("B65536").End(xlUp).Row
        If Range("B" & i).Value = var_id_client Then
            Sheets("FI-CE").Range("AM33").Value = Range("B" & i).Offset(0, 1).Value
            Sheets("FI-CE").Range("AM37").Value = Range("B" & i).Offset(0, 4).Value
            Sheets("FI-CE").Range("AM35").Value = Range("B" & i).Offset(0, 7).Value
        End If
Next

Une colonne par contact?
Ou tous les noms d'une même id dans la même cellule?
Comment est-ce que c'est organisé sur ta feuille "FI-CE"?
 

chombriko

XLDnaute Junior
Re : Activer cellule via variable

Re,

Oui ton idée marche pour un seul contact mais comme tu as dis après chaque recherche il écrase les données précédentes alors qu'il faut les garder.

Euh non ils seront disposaient de cette façon par exemple :

Code:
Sheets("FI-CE").Range("AM25").FormulaR1C1 = Range("B" & i).Offset(0, 1).Value
   ' Sheets("FI-CE").Range("AM29").FormulaR1C1 = Range("B" & i).Offset(0, 4).Value
   ' Sheets("FI-CE").Range("AM27").FormulaR1C1 = Range("B" & i).Offset(0, 7).Value
  
     '   Sheets("FI-CE").Range("AM33").FormulaR1C1 = 
      '  Sheets("FI-CE").Range("AM37").FormulaR1C1 = 
      '  Sheets("FI-CE").Range("AM35").FormulaR1C1 = 
     
           ' Sheets("FI-CE").Range("AM41").FormulaR1C1 = 
           ' Sheets("FI-CE").Range("AM45").FormulaR1C1 =
           ' Sheets("FI-CE").Range("AM43").FormulaR1C1 = 
        
               ' Sheets("FI-CE").Range("AM49").FormulaR1C1 = 
               ' Sheets("FI-CE").Range("AM53").FormulaR1C1 =
               ' Sheets("FI-CE").Range("AM51").FormulaR1C1 =
          
                  ' Sheets("FI-CE").Range("AM57").FormulaR1C1 = 
                  '  Sheets("FI-CE").Range("AM61").FormulaR1C1 = 
                  '  Sheets("FI-CE").Range("AM59").FormulaR1C1 =
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

Peut-être comme ça?

VB:
Dim Ligne as integer
Ligne = 25
For i = 2 To Range("B65536").End(xlUp).Row
        If Range("B" & i).Value = var_id_client Then
            Sheets("FI-CE").Range("AM" & Ligne).Value = Range("B" & i).Offset(0, 1).Value
            Sheets("FI-CE").Range("AM" & Ligne + 1).Value = Range("B" & i).Offset(0, 4).Value
            Sheets("FI-CE").Range("AM" & Ligne + 2).Value = Range("B" & i).Offset(0, 7).Value
            Ligne = Ligne + 6
        End If
Next
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

Je comprends pas, essaie d'être plus précis, dans la disposition que tu m'as donné, il y'a un écart de 6 lignes à chaque fois entre le dernier et le premier de chaque groupement.
 

chombriko

XLDnaute Junior
Re : Activer cellule via variable

Re,

Je viens de trouver!

Voici ceux que sa donne :

Code:
  Dim Ligne As Integer
Ligne = 25
For i = 2 To Range("B65536").End(xlUp).Row
        If Range("B" & i).Value = var_id_client Then
            Sheets("FI-CE").Range("AM" & Ligne).Value = Range("B" & i).Offset(0, 1).Value
            Sheets("FI-CE").Range("AM" & Ligne + 4).Value = Range("B" & i).Offset(0, 4).Value
            Sheets("FI-CE").Range("AM" & Ligne + 2).Value = Range("B" & i).Offset(0, 7).Value
            Ligne = Ligne + 8
        End If
Next

Euh non , il y a un écart de + 8 car il repart de 25 et non pas de 27 .
 

chombriko

XLDnaute Junior
Re : Activer cellule via variable

Je viens d'adapter le programme , tout marche nickel , grand merci à toi!

Il est possible de limiter la recherche à un certain nombre de contact ? Par exemple s'il y en a 10 d'en prendre que 5 ou 6 ect..
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

C'est surement un peu lourd mais tu peux ajouter un autre compteur, que tu commences à 0 et que tu incrémentes à chaque fois que tu ajoutes un contact. Si le compteur est égale à 5, tu ne rentres plus dans ton If.
 

WUTED

XLDnaute Occasionnel
Re : Activer cellule via variable

Re,

VB:
Dim Ligne As Integer, n as Integer
Ligne = 25
For i = 2 To Range("B65536").End(xlUp).Row
        If n = 5 Then
            Exit For
        ElseIf Range("B" & i).Value = var_id_client Then
            Sheets("FI-CE").Range("AM" & Ligne).Value = Range("B" & i).Offset(0, 1).Value
            Sheets("FI-CE").Range("AM" & Ligne + 4).Value = Range("B" & i).Offset(0, 4).Value
            Sheets("FI-CE").Range("AM" & Ligne + 2).Value = Range("B" & i).Offset(0, 7).Value
            Ligne = Ligne + 8
            n = n + 1
        End If
Next

Comme ça?
 

chombriko

XLDnaute Junior
Re : Activer cellule via variable

Re,

Oui c'est bien ça !!!! C'est le n que je plaçais mal , merci !!!!

Sinon tu t'y connais en Multipage?
Je souhaiterais lorsque la macro est lancée ne pas permettre à l'utilisateur de sélectionner une page dans le multipage mais que la page s'active seule selon le code que j'ai programmé.
 
Dernière édition:

Discussions similaires

Réponses
16
Affichages
672
Réponses
26
Affichages
497

Statistiques des forums

Discussions
312 503
Messages
2 089 059
Membres
104 014
dernier inscrit
Aurélie MONTEIL