Petit problème macros VBA Excel

Petit problème macros VBA Excel - VB/VBA/VBS - Programmation

Marsh Posté le 16-04-2009 à 10:07:55    

Bonjour à tous,
depuis le temps que je passe sur ce forum, enfin je m'y inscris!
 
Donc j' ai un léger soucis avec VBA Excel, je souhaiterais savoir si quelqu'un serait capable de m'aider la dessus :
 
Je souhaite que 4 valeurs comprises dans 4 zones de textes différentes dans ma boite de dialogue soient intégrées sur une meme cellule avec "renvoi à la ligne auto".
La nuance est que si je ne rentre que 2 ou 3 valeurs dans 3 ou 3 zones de textes, je souhaite que ma cellule sous excel ne me fasse pas 4 retours à la ligne (vu que j'ai 2 zones de texte dans ma textbox qui sont vides).
 
J'espere avoir été clair jusque là, maintenant je vous pose ma macro; A savoir que R1, R2, R3 et R4 représentent mes 4 zones de textes dans la textbox, "PAGEDEGARDE" étant la feuille Excel sous laquelle j'insère ces valeurs :
 
 
If R4 = "" Then
    If R3 = "" Then
        If R2 = "" Then
            If R1 = "" Then
             
            Sheets("PAGEDEGARDE" ).Range("B11" ) = R1
            Else
            End If
            Sheets("PAGEDEGARDE" ).Range("B11" ) = R1 & Chr(10) & R2
            Else
            End If
            Sheets("PAGEDEGARDE" ).Range("B11" ) = R1 & Chr(10) & R2 & Chr(10) & R3
            Else
            End If
            Sheets("PAGEDEGARDE" ).Range("B11" ) = R1 & Chr(10) & R2 & Chr(10) & R3 & Chr(10) & R4
            Else
            End If

 
 
Voila je sais que je ne suis pas loin de la solution, mais je dois oublier quelque chose.
Je vous remercie d'avance pour votre aide, et vous félicite pour l'activité de celui-ci, en espérant dans le futur ajouter un peu d'activité avec mon aide.
Cordialement
R. F

Reply

Marsh Posté le 16-04-2009 à 10:07:55   

Reply

Marsh Posté le 16-04-2009 à 10:54:49    

Essayer :

S = ""
If R1 <> "" Then
  S = R1
End If
If R2 <> "" Then  
  If S <> "" Then
    S = S & Chr(10)
  End If
  S = S & R2
End If
If R3 <> "" Then
  If S <> "" Then
    S = S & Chr(10)
  End If
  S = S & R3
End If
If R4 <> "" Then
  If S <> "" Then
    S = S & Chr(10)
  End If
  S = S & R4
End If
Sheets("PAGEDEGARDE" ).Range("B11" ) = S


Message édité par olivthill le 16-04-2009 à 14:19:24
Reply

Marsh Posté le 16-04-2009 à 11:05:57    

Etes vous sûr que vous parlez de language VBA Excel?
Car j'ai de nombreux manques dans le codage que vous m'avez transmis.
 
Merci d'avoir porté de l interêt à mon message en tout cas.

Reply

Marsh Posté le 16-04-2009 à 11:12:12    

Vous avez raison. J'ai oublié des "Then" à la fin de quelques "If".
 
(Oui, je connais le VBA, mais l'ennui, c'est que je connais et travaille aussi avec d'autres langages dont plusieurs n'ont pas besoin du Then que j'avais oublié. Excusez-moi.)

Reply

Marsh Posté le 16-04-2009 à 11:31:27    

Merci beaucoup, la macro fonctionne parfaitement, la seule variable n'étant pas correcte est "Char(10) à remplacer par Chr(10).
Je le dis au cas où certaines personnes souhaitent la réutiliser.
 
Encore merci pour votre aide, sujet résolu!

Reply

Marsh Posté le 20-04-2009 à 10:30:17    

Bonjour, je réouvre le sujet car je rencontre un nouveau problème avec ma macro.
 
Je souhaite ajouter une donnée associée à mes R1, R2, R3 qui est située sur la meme Feuil que les valeurs associées à R1, R2, R3, etc.
 
En gros, si R1 = XX sur la "Feuil3", je voudrais qu'automatiquement cela m'insére sur la case suivante de R1 une donnée correspondante située sur "Feuil3".
 
Pour être clair, R1, R2, R3 correspondent à des noms de personnes et les valeurs que je souhaite associer leur email.
 
j'insere la valeur de R1 sur la case B11, je souhaite alors inserer l'email correspondant sur la case C11.
 
Je n'ai pas l'impression d'avoir été tres clair, si besoin je peux transmettre mon fichier.
 
Merci d'avance pour votre aide.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed