Copier coller une collonne dont le nom de champs est saisi
benjamin
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour les amis !
Je suis confronté à un problème en VBA pour lequel je sollicite votre appui technique. J'ai un fichier nommé tampon et un autre nommé APP DNB. Je désire réaliser une macro me permettant de copier la colonne (d'une feuille du fichier tampon) dont le nom de champs est saisi dans un inputbox et la coller dans une feuille du classeur APP DNB.
Après avoir exécuté la syntaxe ci-dessous, cela ne me donne aucun résultat ni de message d'erreur. S'il vous plait aidez-moi les amis !!
Voici la syntaxe :
Je suis confronté à un problème en VBA pour lequel je sollicite votre appui technique. J'ai un fichier nommé tampon et un autre nommé APP DNB. Je désire réaliser une macro me permettant de copier la colonne (d'une feuille du fichier tampon) dont le nom de champs est saisi dans un inputbox et la coller dans une feuille du classeur APP DNB.
Après avoir exécuté la syntaxe ci-dessous, cela ne me donne aucun résultat ni de message d'erreur. S'il vous plait aidez-moi les amis !!
Voici la syntaxe :
Sub cum()
Dim ip
Dim j
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
For j = 1 To 1000
If Workbooks("Tampon.xlsx").Worksheets("Dep").Cells(1, j).Value = "ip" Then
j = CInt(j)
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns("j").Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
Else
msgbx = ("ip& n'est pas un champs du classeur tampon")
End If
Next j
End sub
A voir également:
- Copier coller une collonne dont le nom de champs est saisi
- Historique copier coller - Guide
- Copier-coller - Accueil - Informatique
- Copier coller pdf - Guide
- Comment copier une vidéo youtube - Guide
- Style d'écriture a copier coller - Guide
7 réponses
Bonjour,
ip est une variable :
Tu lui affectes une valeur :
Mais après tu t'en sert mal. La syntaxe "ip" ne fait pas référence à ta variable ip, mais au texte "ip".
Donc, dans :
vire les guillemets autour de ip pour obtenir :
Cordialement,
Franck
ip est une variable :
Dim ip
Tu lui affectes une valeur :
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
Mais après tu t'en sert mal. La syntaxe "ip" ne fait pas référence à ta variable ip, mais au texte "ip".
Donc, dans :
If Workbooks("Tampon.xlsx").Worksheets("Dep").Cells(1, j).Value = "ip" Then
vire les guillemets autour de ip pour obtenir :
If Workbooks("Tampon.xlsx").Worksheets("Dep").Cells(1, j).Value = ip Then
Cordialement,
Franck
Merci Mon frère!
Je vois. ça marche. seulement, il masque la colonne de destination (B1). en plus, une fois que je saisi par exemple PLA 2013, il devrait rechercher et copier toute la colonne ayant pour nom de champs PLA 2013. Ici ce n'est pas le cas, mais il copie toujours la même colonne de numéro J du fichier tampon. Il s'intéresse donc pas au texte saisi.
Aide moi ,on frère!
Je vois. ça marche. seulement, il masque la colonne de destination (B1). en plus, une fois que je saisi par exemple PLA 2013, il devrait rechercher et copier toute la colonne ayant pour nom de champs PLA 2013. Ici ce n'est pas le cas, mais il copie toujours la même colonne de numéro J du fichier tampon. Il s'intéresse donc pas au texte saisi.
Aide moi ,on frère!
Merci Pijaku!
Ça marche à merveille.
Par contre j'ai prévu l'affichage de ce message "ip& n'est pas un champs du classeur tampon" si le texte saisi dans l'inputbox ne correspond pas à aucun titre de champs du fichier tampon. Mais cela ne fonctionne pas. En effet, pas de message d'erreur ni de résultat après avoir saisi expressément un texte ne faisant pas partie des titres de champs.
Je suis vraiment un débutant en VBA. J'ai soif de votre assistance technique.
Ça marche à merveille.
Par contre j'ai prévu l'affichage de ce message "ip& n'est pas un champs du classeur tampon" si le texte saisi dans l'inputbox ne correspond pas à aucun titre de champs du fichier tampon. Mais cela ne fonctionne pas. En effet, pas de message d'erreur ni de résultat après avoir saisi expressément un texte ne faisant pas partie des titres de champs.
Je suis vraiment un débutant en VBA. J'ai soif de votre assistance technique.
Voici la synthaxe!
Sub cum()
Dim ip
Dim j
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
For j = 1 To 1000
If Workbooks("Tampon.xlsx").Worksheets("Dep").Cells(1, j).Value = ip Then
j = CInt(j)
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(j).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
Else
msgbx = (ip & " n'est pas un champs du classeur tampon")
End If
Next j
End sub
Sub cum()
Dim ip
Dim j
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
For j = 1 To 1000
If Workbooks("Tampon.xlsx").Worksheets("Dep").Cells(1, j).Value = ip Then
j = CInt(j)
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(j).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
Else
msgbx = (ip & " n'est pas un champs du classeur tampon")
End If
Next j
End sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
1) c'est le titre des champs
2) c'est un texte saisi ki doit figurer dans la liste des champs de la feuille du classeur
3)msgbox (cè une erreur)
4)je ne colle toujours pas dans la même colonne. Puisque je suis à la phase d'essai, je modifie la référence de la plage a chaque essai.
.
Après avoir rectifié le msgbox , ça marche. Seulement j'ai un problème de boucle folle. C'est à dire le message d'erreur s'affiche sans cesse; et ce, même si la valeur renseignée dans le inputbox est un titre de champs.
Merci de t'intéresser à ma préoccupation
2) c'est un texte saisi ki doit figurer dans la liste des champs de la feuille du classeur
3)msgbox (cè une erreur)
4)je ne colle toujours pas dans la même colonne. Puisque je suis à la phase d'essai, je modifie la référence de la plage a chaque essai.
.
Après avoir rectifié le msgbox , ça marche. Seulement j'ai un problème de boucle folle. C'est à dire le message d'erreur s'affiche sans cesse; et ce, même si la valeur renseignée dans le inputbox est un titre de champs.
Merci de t'intéresser à ma préoccupation
Bonjour,
Essaye ceci :
Essaye ceci :
Sub cum()
Dim ip As String
Dim rngTrouve As Range
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
Set rngTrouve = Workbooks("Tampon.xlsx").Worksheets("Dep").Rows(1).Cells.Find(ip, lookat:=xlwhole)
If rngTrouve Is Nothing Then
msgbx = (ip & " n'est pas un champs du classeur tampon")
Else
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(j).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
End If
End sub
Merci!!
Permettez moi de savoir ce que represente j dans
?
Permettez moi de savoir ce que represente j dans
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(j).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
?
j est une erreur.....
Pardon!
Pardon!
Sub cum()
Dim ip As String
Dim rngTrouve As Range
Dim Col As Integer
ip = InputBox("Veuillez renseigner un champs! " & Chr(10) & "Par Exemple : PLF 2013", "CHOIX D'UN CHAMPS!!!")
Set rngTrouve = Workbooks("Tampon.xlsx").Worksheets("Dep").Rows(1).Cells.Find(ip, lookat:=xlwhole)
If rngTrouve Is Nothing Then
msgbx = (ip & " n'est pas un champs du classeur tampon")
Else
Col = rngTrouve.Column
Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(Col).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
End If
End sub
Merci!
le message d'erreur s'affiche quand il y a lieu.
Par contre lorsque le texte saisi est un titre de champs, la copie ne s'exécute pas.
je reçois dans ce cas un message d'erreur incompatibilé de type. le debogage souligne la ligne Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(Col).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")
le message d'erreur s'affiche quand il y a lieu.
Par contre lorsque le texte saisi est un titre de champs, la copie ne s'exécute pas.
je reçois dans ce cas un message d'erreur incompatibilé de type. le debogage souligne la ligne Workbooks("Tampon.xlsx").Worksheets("Dep").Columns(Col).Copy Workbooks("APP DNB.xlsm").Worksheets("Feuil25").Range("B1")