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

Affectation de valeurs

  • Initiateur de la discussion Initiateur de la discussion Basticx
  • 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 !

B

Basticx

Guest
Bonjour à tous,

Je bloque sur une histoire de boucle. Je dispose d'un fichier excel comprenant deux colonnes (A et B), la colonne A étant le nom utilisateur et B le code utilisateur.
Je souhaite parcourir l'ensemble de ces colonnes et à chaque ligne affectée la valeur de la cellule A à une variable CodeUti et B à une variable CodeApp. Ces deux variables me permettent ensuite d'envoyer des requêtes sql à une base.

Le problème est que je ne sais pas du tout par où commencer pour ma boucle.

Merci d'avance de votre aide.
 
Re : Affectation de valeurs

Bonsoir Basticx,

Préambule :
J'ai regardé tes messages, sur trois questions posés. Tu n'as obtenu qu'une réponse 🙁

Mais que cela ne t'empêche d'y répondre 😉 Au moins pour dire si cela correspond à tes attentes? Voici l'adresse de ton fameux post solutionné.

Pour l'autre message, je m'y attelle dès que j'ai fini de répondre à ce post.

Réponse à ton post :
Question vague. Tout dépend comment, quand et sous quel forme tu envoi tes données à ta base. Cela dépend également si ces valeurs qui seront dans tes variables : CodeUti et CodeApp reste dans le code VBA ou si elles sont affiché sur ta page excel.

Solution 1 : la plus basique et simple -> balayer toutes tes cellules l'une après l'autre par une basique boucle For 1ère cellule de la colonne A To Dernière cellule de la colonne A Then ... Next.

Puis répéter la même chose pour la colonne B, ou insérer une deuxième boucle.

Solution 2 : plus compliqué -> utiliser la boucle For ... Each... Next

Solution 3 : encore plus complexe -> créer un tableau virtuel dans lequel tu stockeras tes valeurs : UBound et Cie

Et tout pleins d'autres solution.

Après, quand à savoir laquelle est la mieux adaptée à ton cas, nous n'avons pas assez d'information pour y répondre :
-> tes besoins?
-> tes contraintes?
-> tes connaissances en VBA?

Espérant en tout cas t'avoir mis sur la piste

A te lire

Cordialement
 
Re : Affectation de valeurs

Bonjour,

Merci de ton début de réponse Excel-lent. Le dernier post est effectivement passé à la trappe. Je repensé mon problème car le précédent post est lié à ce dernier.

Voilà une partir de mon code :


Ce que je voudrais obtenir : au premier passage la valeur en A1 doit être affectée à la variable CodeClient, la valeur en B1 doit elle être affectée à la variable PassClient.
Une fois l'affectation faite, la procédure sql doit se lancer puis revenir sur la valeur en A2 et B2 et ainsi de suite.

J'espère avoir été plus clair avec ces quelques explications.
 
Re : Affectation de valeurs

Bonjour Basticx ,

Je croyais connaître un peu le VBA, mais lorsque je lis ton code 😱

Je préfère laisser la main à quelqu'un de plus performant que moi.

Bonne après midi

Cordialement
 
Re : Affectation de valeurs

Oui c'est bien là mon problème, mon code la connexion sql et les requêtes est OK. Mais pour le reste je suis assez incompétent en vb.
Je pensais qu'il était possible d'attribuer à la variable CodeClient la valeur de la cellule A1, puis celle de la cellule A2 et ainsi de suite.

Je vais tester sans le code sql.
 
Re : Affectation de valeurs

Basticx à dit:
Oui c'est bien là mon problème, mon code la connexion sql et les requêtes est OK. Mais pour le reste je suis assez incompétent en vb.

Pour ma part c'est le contraire 😀


Basticx à dit:
Je pensais qu'il était possible d'attribuer à la variable CodeClient la valeur de la cellule A1, puis celle de la cellule A2 et ainsi de suite.

Oui c'est possible. Mais comment veux-tu le faire?

La valeur de la cellule A2, tu l'as met dans la variable CodeClient à la place de la valeur de la cellule A1?

Dans ce cas :
Code:
Dim Ligne as Integer

For Ligne = 1 To 60 [COLOR="Green"]'60 à adapter en fonction du nombre de lignes à traiter[/COLOR]

     CodeClient = Range("A" & Ligne)

Next Ligne

Sinon, si tu veux mettre la valeur de la cellule A2 dans la variable CodeClient en plus de la valeur de la cellule A1, alors il faut déjà savoir comment tu veux les mettre? Séparer toutes les valeurs par une virgule? Alors regarde ce code :
Code:
Sub Test()

Dim Ligne As Long

For Ligne = 1 To 60 [COLOR="Green"]'60 à adapter en fonction du nombre de lignes à traiter[/COLOR]
      If Ligne = 1 Then
        CodeClient = Range("A" & Ligne)
      Else
        CodeClient = CodeClient & "," & Range("A" & Ligne)
      End If
Next Ligne

End Sub

A te lire

Cordialement
 
- 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
2
Affichages
238
Réponses
15
Affichages
779
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…