Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Remplissage tableau

  • Initiateur de la discussion Initiateur de la discussion Janot56
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Janot56

Guest
Bonjour amis Terriens,

Un nouveau problème s'ouvre à moi aujourd'hui :

Je possède une fichier Excel avec 2 onglets :
1) base de données
2) Tableau

J'arrive à classer par catégorie ma base de données (Nom, adresse, tel, site, mail)
Seulement j'aimerais que pour chaque entreprise, le tableau de l'onglet 2 se remplisse
Voir le fichier joint pour exemple.

Les difficultés sont :
Les informations sur les entreprises varient (pas forcément de mail, plusieurs adresses, etc.)
Cependant chaque entreprise possède un Nom et un Tél.

Existe t-il une manipulation ou macro pour permettre un remplissage automatique du tableau ?😕

Merci d'avance !
 

Pièces jointes

Re : Remplissage tableau

Bonjour.

Essayez cette macro dans le module Feuil1 (Tableau) :
VB:
Private Sub Worksheet_Activate()
Dim Te(), Ts(1 To 5000, 1 To 7), Le&, Ls&, CAd&
Te = Feuil2.Range(Feuil2.[A2], Feuil2.[B60000].End(xlUp)).Value
For Le = 1 To UBound(Te)
   Select Case Te(Le, 2)
      Case "Nom": Ls = Ls + 1: Ts(Ls, 1) = Te(Le, 1): CAd = 1
      Case "Adresse": CAd = CAd + 1: If CAd <= 4 Then Ts(Ls, CAd) = Te(Le, 1)
      Case "mail": Ts(Ls, 5) = Te(Le, 1)
      Case "site": Ts(Ls, 6) = Te(Le, 1)
      Case "tel": Ts(Ls, 7) = Te(Le, 1)
      End Select: Next Le
Me.[A2:G5001].Value = Ts
Me.Columns.AutoFit
End Sub
 
Re : Remplissage tableau

Bonjour Dranreb,
merci de ton aide.

Cependant quand je lance la Macro, cela efface toutes mes données de la feuille 1 et rien ne se passe après...
 
Re : Remplissage tableau

Bonjour.
Je ne sais pas comment j'ai pu passer à coté de ça, désolé. C'est sur Feuil1 les données pas sur Feuil2. Corrigez donc la 1ère instruction :
VB:
Te = Feuil1.Range(Feuil1.[A2], Feuil1.[B60000].End(xlUp)).Value
Avec mes excuses.

Edit: Et la macro se met dans Feuil2 (Tableau) et non dans Feuil1 (Base de données). Feuil1 (Tableau) n'existe pas. Je suis sidéré de cette interversion, je ne comprends vraiment pas comment elle a pu se produire. Notez que chez moi, dans mes classeurs, ça ne peut pas arriver: la première chose que je fais quand je crée une feuille c'est d'aller donner un nom mnémonique à l'objet Worksheet qui la représente dans VBA. Par exemple ici FBdD au lieu de Feuil1 pour la "Base de données" et FTablo au lieu de Feuil2 pour la "Tableau".
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
621
Réponses
26
Affichages
2 K
C
Réponses
1
Affichages
1 K
B
Réponses
2
Affichages
1 K
Bidule77
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…