Copier valeur d'une inputbox dans une feuille Excel

benadry

XLDnaute Occasionnel
Bonjour le forum,

Dans la droite ligne d'un de mes précédfents posts (https://www.excel-downloads.com/thr...rs-dun-userform-vers-un-tableau-excel.221465/) auquel Camarchepas avant si gentiment répondu, je me trouve maintenant confronté à la question de copier la valeur d'une inputbox dans une feuille Excel.

J'ai mis à jour mon fichier test pour vous montrer de quoi il s'agit.

En fait, je souhaite que la macro copie la valeur de l'inputbox (par exemple quand l'utilisateur clique sur le "OK" de l'inputbox) dans la feuille Excel, mais au bon endroit.
En l'occurrence, dans les colonnes AT, puis AU, puis AV, puis AW, puis AX, et dans les lignes dont les noms correspond (exemple ligne "Congé 2", si la valeur de la Combobox3 est "congé 2".

J'ai tenté quelque chose, en reprenant le code de Camarchepas et, pour le coup, ça marche vraiment pas !


Code:
Private Sub ComboBox3_Change()

If ComboBox3.Value = "Congé 2" Then

Completer

End If

End Sub


Sub Completer()

Dim resultat As String
Dim Type_Even2 As String
Dim Trouve2 As Range
Dim Colonne As Integer

resultat = InputBox("Merci d'entrer le montant ci-dessous.", "Indiquez le montant ici")


Set Trouve2 = Sheets("Accueil").Range("M:M").Find(Type_Even2, lookat:=xlWhole)
 For Colonne = 0 To 5
 If Sheets("Accueil").Range("AT1").Offset(Trouve2.Row - 1, Colonne) = "" Then
   Sheets("Accueil").Range("AT1:AX1").Offset(Trouve2.Row - 1, Colonne) = Infos: Exit For
 End If
 Next Colonne


End Sub

Je suis bloqué, car j'ai fait pas mal d'inputbox dans mon formulaire et maintenant je ne sais pas comment les recopier !

Help !

Merci d'avance.

Cordialement.
 

Pièces jointes

  • Copie de Test2(1).xlsm
    158.5 KB · Affichages: 34

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copier valeur d'une inputbox dans une feuille Excel

Bonjour Benadry, bonjour le forum,

Peut-être comme ça :

Code:
Private Sub ComboBox3_Change()
If ComboBox3.Value = "Congé 2" Then Call Completer(ComboBox3.Value)
End Sub


Sub Completer(Type_Even2 As String)
Dim resultat As String
Dim Trouve2 As Range
Dim Colonne As Integer

resultat = InputBox("Merci d'entrer le montant ci-dessous.", "Indiquez le montant ici")
Set Trouve2 = Sheets("Accueil").Range("M:M").Find(Type_Even2, lookat:=xlWhole)
'If Trouve2 Is Nothing Then MsgBox "L'évenement : " & Type_Even2 & " n 'est pas prévu dans la feuille accueil", vbyesonly, "Alerte utilisateur": Exit Sub
For Colonne = 0 To 5
    If Sheets("Accueil").Range("AT1").Offset(Trouve2.Row - 1, Colonne) = "" Then
        Sheets("Accueil").Range("AT1:AX1").Offset(Trouve2.Row - 1, Colonne) = Infos: Exit For
    End If
Next Colonne
End Sub
 

benadry

XLDnaute Occasionnel
Re : Copier valeur d'une inputbox dans une feuille Excel

Bonjour Robert,
Rebonjour le forum,

Désolé, ça ne marche pas.

A dire vrai, il ne me semble pas avoir trouvé de différence entre ton code et le mien ?

Merci encore pour ton aide.

Cordialement.
 

benadry

XLDnaute Occasionnel
Re : Copier valeur d'une inputbox dans une feuille Excel

Bonjour le forum,

J'ai retravaillé sur mon code et j'ai un peu avancé.

J'ai réussi à copier la valeur de l'inputbox. Mais, le problème, c'est qu'elle ne se copie pas comme je veux.

Le but est de copier, d'abord, dans la colonne AT, puis, si elle est remplie, dans la colonne AU, puis, si elle est remplie, dans la colonne AV et, ainsi de suite jusqu'à la colonne AX.

Or, là, elle se copie directement 5 fois (alors qu'il n'y a qu'une seule saisie). Je n'y comprends plus rien !

Quelqu'un pourrait-il m'aider ?

Voici un extrait du code :

Code:
If ComboBox5.Value = "Prime2" Then

resultat = InputBox("Merci d'entrer le montant ci-dessous.", "Mon tableur", "Indiquez le nombre d'heures ici")
Type_Even2 = ComboBox5.Text

Set Trouve2 = Sheets("Accueil").Range("M:M").Find(Type_Even2, lookat:=xlWhole)
 For Colonne = 0 To 1
 If Sheets("Accueil").Range("AT1").Offset(Trouve2.Row - 1, Colonne) = "" Then
   Sheets("Accueil").Range("AT1:AX1").Offset(Trouve2.Row - 1, Colonne) = resultat: Exit For
 End If
 Next Colonne

Merci d'avance.

Cordialement.
 

benadry

XLDnaute Occasionnel
Re : Copier valeur d'une inputbox dans une feuille Excel

Rebonjour,

Désolé, j'avais oublié de recopier la déclaration des variables, plus haut dans le code :

Code:
Dim resultat As String
Dim Type_Even2 As String
Dim Trouve2 As Range
Dim Colonne As Integer

Merci d'avance.

Cordialement.
 

benadry

XLDnaute Occasionnel
Re : Copier valeur d'une inputbox dans une feuille Excel

Rebonjour,


J'ai trouvé comment faire pour que la macro ne recopie pas 5 fois la même valeur.

En revanche, je sèche pour savoir comment lui dire de copier d'abord en AT, puis (si AT n'est pas vide) en AU, puis en AV, puis en AW, puis en AX ...

J'ai le code suivant que je retourne dans tous les sens, sans succès !

Code:
If ComboBox5.Value = "prime2" Then

resultat = InputBox("Merci d'entrer le montant ci-dessous.", "Mon tableur", "Indiquez le montant ici")
Type_Even2 = ComboBox5.Text

Set Trouve2 = Sheets("Accueil").Range("M:M").Find(Type_Even2, lookat:=xlWhole)
For Colonne2 = 1 To 5
If Sheets("Accueil").Range("AR1").Offset(Trouve2.Row - 1, Colonne2) = "" Then
   Sheets("Accueil").Range("AS1").Offset(Trouve2.Row - 1, Colonne2) = resultat: Exit For
End If
Next Colonne2

La colonne M est celle où le nom des valeurs de la combobox est inscrit. Cela permet donc à la macro de savoir dans quelle ligne elle doit copier les données. Après, se pose la question de la colonne et c'est là que ça dérape !

Je ne suis pas très doué en macro et je m'y perds dans les colonnes à "cibler" dans mon code.

Help, là je suis bloqué pour la suite !

Je pense avoir compris que le problème se cache dans
Code:
For Colonne2 = 1 To 5
et/ou dans
Code:
If Sheets("Accueil").Range("AR1").Offset(Trouve2.Row - 1, Colonne2) = "" Then
   Sheets("Accueil").Range("AS1").Offset(Trouve2.Row - 1, Colonne2) = resultat: Exit For

J'ai fait divers essais, mais ça ne marche pas !


Merci d'avance.

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2