Macro Excel VBA Rechercher puis copier/coller
tekitizi
Messages postés
5
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un soucis dans un fichier excel.
Ce fichier en format .xls presente pres de 120 colonnes, et s'étale sur une cinquantaine de lignes.
Il se décompose comme suit:
- la premiere colonne, A, sert de libellé pour les infos présente dans les colonnes suivantes
- la ligne 3 portant des noms d'années, de 2003 à 2008, avec 8 tableaux reprenant les memes années pur des entités différents.
-ainsi, une succession de tableaux, comportant 7 colonnes avec chacune un en tete en ligne 3 ( en l'occurrence des années, --> 2003 à 2008)
Ainsi on a:
- de B à G, je dispose de valeurs qui ont été copiées collées,
-la colonne en valeur, portant le nom de l'année en cours par le programme se chance en "N/A"
- en colonne H, je dispose de données valident pour selectionnée dans le reste de ma feuille (donc comprise entre 2003 et 2008). Les données ci-présentées sont fournies par un Index;Equiv;Equiv, et me servent à les copier/coller dans la colonne de l'année en valeurs (vs suivez jusque là?)
-de meme,je dispose de chiffres differents de I à N ( libellées de 2003 à 2008, qui se remplacent en "N/A" pr l'année selectionnée, et en O je dipose de la colonne Index Equiv ac l'entete de l'année en cours), etc pour la suite des colonnes...
Mon problème est en fait simple:
Comment créer une macro, qui vient automatiquement selectionner la colonne H de l'année traitée par le programme, et qui vienne copier/coller en valeurs les données dans la colonne intitulée "N/A" entre B et G.
De meme, il faudra que cette macro puisse aller en O effectuer l'operation pr les colonnes I à M , puis en V....
Je peux le faire à la main, ms cela prend trop de temps de changer les données pour chaque année..
Merci pour votre aide!
J'ai un soucis dans un fichier excel.
Ce fichier en format .xls presente pres de 120 colonnes, et s'étale sur une cinquantaine de lignes.
Il se décompose comme suit:
- la premiere colonne, A, sert de libellé pour les infos présente dans les colonnes suivantes
- la ligne 3 portant des noms d'années, de 2003 à 2008, avec 8 tableaux reprenant les memes années pur des entités différents.
-ainsi, une succession de tableaux, comportant 7 colonnes avec chacune un en tete en ligne 3 ( en l'occurrence des années, --> 2003 à 2008)
Ainsi on a:
- de B à G, je dispose de valeurs qui ont été copiées collées,
-la colonne en valeur, portant le nom de l'année en cours par le programme se chance en "N/A"
- en colonne H, je dispose de données valident pour selectionnée dans le reste de ma feuille (donc comprise entre 2003 et 2008). Les données ci-présentées sont fournies par un Index;Equiv;Equiv, et me servent à les copier/coller dans la colonne de l'année en valeurs (vs suivez jusque là?)
-de meme,je dispose de chiffres differents de I à N ( libellées de 2003 à 2008, qui se remplacent en "N/A" pr l'année selectionnée, et en O je dipose de la colonne Index Equiv ac l'entete de l'année en cours), etc pour la suite des colonnes...
Mon problème est en fait simple:
Comment créer une macro, qui vient automatiquement selectionner la colonne H de l'année traitée par le programme, et qui vienne copier/coller en valeurs les données dans la colonne intitulée "N/A" entre B et G.
De meme, il faudra que cette macro puisse aller en O effectuer l'operation pr les colonnes I à M , puis en V....
Je peux le faire à la main, ms cela prend trop de temps de changer les données pour chaque année..
Merci pour votre aide!
A voir également:
- Macro Excel VBA Rechercher puis copier/coller
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Historique copier coller - Guide
- Liste déroulante excel - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
2 réponses
Plus parlant comme ca:
Il faut trouver un moyen de rechercher dans B2:H2 la valeur "N/A", et de remplacer les lignes 5 à 77 de la colonne par celles de H5 à H77.
Range("H5:H77").Select
Application.CutCopyMode = False
Selection.Copy
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Puis, il faut trouver un moyen de rechercher dans p2:u2 la valeur "N/A", et de remplacer les lignes 5 à 77 de la colonne par celles de v5 à v77.
Range("V5:V77").Select
Application.CutCopyMode = False
Selection.Copy
Range("P5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Etc... apres j'adapterais ;-)
Merci de m'eclairer...
Il faut trouver un moyen de rechercher dans B2:H2 la valeur "N/A", et de remplacer les lignes 5 à 77 de la colonne par celles de H5 à H77.
Range("H5:H77").Select
Application.CutCopyMode = False
Selection.Copy
Range("B5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Puis, il faut trouver un moyen de rechercher dans p2:u2 la valeur "N/A", et de remplacer les lignes 5 à 77 de la colonne par celles de v5 à v77.
Range("V5:V77").Select
Application.CutCopyMode = False
Selection.Copy
Range("P5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Etc... apres j'adapterais ;-)
Merci de m'eclairer...
bonjour,
essaies cette macro
essaies cette macro
Sub chercher_na()
Dim tablo()
Dim cptr As Byte, col As Byte
Application.ScreenUpdating = False
col = 2 'colonne de départ (2=B)
tablo = Range("B2:H2").Value
For cptr = 1 To UBound(tablo, 2)
If IsError(tablo(1, cptr)) Then
Exit For
End If
col = col + 1
Next
Range("H5:H77").Copy Cells(5, col)
End Sub